C 警告:s指针和整数之间的比较
当我运行时,上面的标题显示为错误C 警告:s指针和整数之间的比较,c,C,当我运行时,上面的标题显示为错误 #include <stdio.h> int main() { int i; char name[20]; printf("Enter name: "); scanf("%s",name); printf("Your name is %s",name); while(name[i]!="\0") { i++; if(name[i]==" ") { strcpy(b[i],nam
#include <stdio.h>
int main()
{
int i;
char name[20];
printf("Enter name: ");
scanf("%s",name);
printf("Your name is %s",name);
while(name[i]!="\0")
{
i++;
if(name[i]==" ")
{
strcpy(b[i],name[i]);
printf("copied name: ");
scanf("%s",b[i]);
}
}
}
#包括
int main()
{
int i;
字符名[20];
printf(“输入名称:”);
scanf(“%s”,名称);
printf(“您的名字是%s”,name);
while(名称[i]!=“\0”)
{
i++;
如果(名称[i]==“”)
{
strcpy(b[i],名称[i]);
printf(“复制名称:”);
scanf(“%s”,b[i]);
}
}
}
当我运行这个程序时,它会显示这个错误,为什么?警告:指针和整数之间的比较。“\0”是字符串,“\0”是字符。当你比较一个角色时,你需要后者
此外,正如chqrlie所指出的,还有许多其他问题-您需要检查编译器警告/错误并将其全部修复。比如说,
错误,原因相同name[i]==”
在哪里声明b
- 其中
已初始化i
#包括
int main()
{
int i=0,n;
字符名[20],b[20];
printf(“输入名称:”);
scanf(“%s”,名称);
printf(“您的名字是%s\n”,名字);
while(名称[i]!='\0')
{
b[i]=name[i];//从name[]复制到b[],而不是strcpy
i++;
}
printf(“复制名称:”);
对于(n=0;n请正确编辑代码。这只是一个开始:name[i]==”
也是如此,b
没有定义,strcpy
被赋予字符而不是字符串,scanf
可能也错了……是的,你指出的许多问题,他需要自己编译和修复。我还是更新了一些。
#include <stdio.h>
int main()
{
int i=0,n;
char name[20],b[20];
printf("Enter name: ");
scanf("%s",name);
printf("Your name is %s\n",name);
while(name[i]!='\0')
{
b[i]=name[i]; // to copy from name[] to b[]. Instead of strcpy
i++;
}
printf("copied name: ");
for(n=0;n<=i;n++)
{
printf("%c",b[n]); // to show the copied result.
}
printf("\n");
return 0;
}