gpt4 book ai didi

c - 在函数声明中收到错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:57 24 4
gpt4 key购买 nike

i am receiving a an error and a warning in the following program

void reverse(char ss[],char s2[])
^
1 warning generated

错误是

warning: sizeof on array function parameter will return size of 'char *' instead of 'char []; [-Wsizeof-array-argument]

printf("%ld \n", sizeof(ss));
^

i am doing a reversing a character array in 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));

关于c - 在函数声明中收到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35730095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com