当我运行上面的标题时显示为错误
#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]);
}
}
}
当我运行它时显示此错误原因?警告:指针和整数之间的比较。
答案 0 :(得分:1)
&#34; \ 0&#34;是一个字符串,&#39; \ 0&#39;是一个角色。在比较角色时,你需要后者。
此外,正如chqrlie所指出的,还有许多其他问题 - 您需要检查编译器警告/错误并将其全部修复。例如,
name[i]==" "
出于同样的原因是错误的。b
?i
已初始化?? 答案 1 :(得分:0)
您的代码中有许多错误/警告。
代码 -
#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;
}