[英]receiving an error in the function declaration
我在以下程序中收到错误和警告
void reverse(char ss[],char s2[])
^
1 warning generated
错误是
警告:数组函数参数上的sizeof将返回'char *'的大小,而不是'char []; [-Wsizeof阵列-参数]
printf("%ld \n", sizeof(ss));
^
我正在C中反转字符数组
#include<stdio.h>
#define MAXLENGTH 1000
void reverse(char ss[],char reversest[]);
int main()
{
char s[MAXLENGTH];
int c;
char d[MAXLENGTH];
int i=0;
while((c=getchar())!=EOF)
{
s[i]=c;
i++;
}
s[i]='\0';
printf("%ld \n",sizeof(s));
reverse(s,d);
printf("%s",d);
return 0;
}
void reverse(char ss[],char s2[])
{
int i=0;
int c=1;
printf("%ld \n", sizeof(ss));
for(i=0;ss[i]=='\0';i++)
{
for(int j=c-1;j>=0;j--)
{
s2[j]=ss[i];
}
}
}
我是新手学习c。 我相信我做错了什么,但我不知道这是什么
请注意,在这一行:
printf("%ld \n", sizeof(ss));
您没有打印出ss数组中的字节数。 您只是在打印指针的大小。 我相信,如果您解决此问题,警告将会消失。
也许您想要这样:
printf("%ld \n", strlen(ss));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.