Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 警告:s指针和整数之间的比较_C - Fatal编程技术网

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
    已初始化

您的代码中有许多错误/警告

  • 它应该是“\0”。不是“\0”
  • 您尚未声明b[]
  • 初始化i=0
  • 您可以使用下面代码中所示的另一种方法来代替strcpy
  • 另外,您不应该在最后一行中使用scanf。您应该使用printf。scanf用于从用户获取输入。printf用于打印结果
  • 代码-

    #包括
    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;
    }