C语言的大虾题帮忙找一下错
#include <stdio.h>
str_rewind(char a[],int n)
{
int temp,i,j,m=(n-1)/2;
for(i=0;i<=m;i++)
{
j=n-1-i;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
int main()
{
int i;
char a[80]={"vlanljvaiojfkla"};
str_rewind(a[80],80);
for(i=0;i<=80;i++)
printf("%s",a[i]);
}
[解决办法]
- C/C++ code
#include <stdio.h> void str_rewind(char a[],int n) //函数要带返回类型{ int temp,i,j,m=(n-1)/2; for(i=0;i<=m;i++) { j=n-1-i; temp=a[i]; a[i]=a[j]; a[j]=temp; } } int main() { int i; char a[80]={"vlanljvaiojfkla"}; str_rewind(a,80); //注意数组传参时,用数组名作为参数 for(i=0;i<=80;i++) printf("%s",a[i]); return 0;}
[解决办法]
定义的函数没有返回类型;
调用函数时第一个参数应为数组名称;
主函数没有返回值
[解决办法]
[code=C/C++][/code]#include <stdio.h>
void str_rewind(char a[],int n)
{
int temp,i,j,m=(n-1)/2;
for(i=0;a[i]!='\0';i++)
{
j=n-1-i;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
int main()
{
int i;
char a[80]={"vlanljvaiojfkla"};
str_rewind(a,80);
for(i=0;i<=80;i++)
printf("%c",a[i]); //注意输出类型
return 0;
}
[解决办法]
[解决办法]
1.C的标准,没返回值函数可以不写void,缺省为整型,但VS2008不可以
2.标准的主函数应该有返回值的,只有的VC支持void main,gcc的必须用int main()
3.%c %s本质不同,%c输出1个字符,%s输出1个字串(以'\0'结尾的)