Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/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代码有什么错误?_C_Output - Fatal编程技术网

这个C代码有什么错误?

这个C代码有什么错误?,c,output,C,Output,这是我试图编译的代码 #include <stdio.h> int main(void) { int n; printf("Enter the value for the nuber to be tested\n"); scanf("%d", &n); if(n <=10 && >= 1) printf("n is between 1 to 10\n"); return 0; } #包括 内部主(空)

这是我试图编译的代码

#include <stdio.h>

int main(void)
{
   int n;
   printf("Enter the value for the nuber to be tested\n");
   scanf("%d", &n);
   if(n <=10 && >= 1)
       printf("n is between 1 to 10\n");
   return 0;
}
#包括
内部主(空)
{
int n;
printf(“输入要测试的数值\n”);
scanf(“%d”和“&n”);
如果(n=1)
printf(“n在1到10之间\n”);
返回0;
}
因此,当我编译它时,如果(n=1)

修复您的

scanf(“%d”和&n)

并检查
n
是否在范围[1,10]内

你应该使用

if (n <= 10  && n >= 1) {
//Your Code
}
if(n=1){
//你的代码
}
修复您的

scanf(“%d”和&n)

并检查
n
是否在范围[1,10]内

你应该使用

if (n <= 10  && n >= 1) {
//Your Code
}
if(n=1){
//你的代码
}

为编译器启用所有警告和调试信息,即使用
gcc-Wall-g
。学习使用调试器(
gdb
在Linux上)。你犯了两个错误:

  • 首先,您对
    scanf
    的调用是错误的

    scanf("%d, &n");
    
    这是双重错误,GCC会警告你的

    • 首先也是最重要的一点,对于格式字符串中的
      %d
      scanf
      需要一个整数参数地址,如
      scanf(“%d”,&n)并且您有一些(您的程序经常会崩溃)

    • 然后,
      scanf
      可能会失败。检查其结果(成功扫描的项目数):


      if(scanf(“%d”,&n)=1=1&&n=1
      测试为true,可以给出小于10的1(将
      true
      布尔值转换为整数);错误的测试可能被解析为
      if((n>=1)为编译器启用所有警告和调试信息,即使用
      gcc-Wall-g
      。学习使用调试器(
      gdb
      在Linux上)。您犯了两个错误:

    • 首先,您对
      scanf
      的调用是错误的

      scanf("%d, &n");
      
      这是双重错误,GCC会警告你的

      • 首先也是最重要的一点,对于格式字符串中的
        %d
        scanf
        需要一个整数参数的地址,如
        scanf(“%d”,&n);
        ,并且您有一些(您的程序经常会崩溃)

      • 然后,
        scanf
        可能会失败。请检查其结果(成功扫描的项目数):


        if(scanf(“%d”,&n)=1=1&&n=1
        测试为真,可能会给出1(将
        true
        布尔值转换为整数),小于10;您不正确的测试可能被解析为
        if((n>=1)我按照您的建议更改了代码,现在它显示了if(n=1)的错误你输入了一个不在答案中的错误。请仔细阅读答案!@Basile Starynkevitch这意味着什么我不明白你能为我指出它吗?如果(n=1)正确地写了
        if(n=1)
        ,但你评论了
        if(n=1)
        这不是P0W所写的。在抱怨之前,请仔细阅读答案。哈哈哈对不起,我是一个新手,我想我也需要一个眼睛检查。谢谢我按照你的建议更改了我的代码,现在它显示了if错误(n=1)你输入了一个不在答案中的错误。请仔细阅读答案!@Basile Starynkevitch这意味着什么我不明白你能为我指出它吗?如果(n=1)正确地写了
        if(n=1)
        ,但你评论了
        if(n=1)
        这不是P0W所写的。在抱怨之前,请仔细阅读答案。哈哈哈,对不起,我是一个新手,我想我也需要一个眼睛检查一下。谢谢。我可以看到你写这篇文章时是新手,所以我会继续写,只在这里发表评论;请不要更新你问题中的代码以反映发布的内容答案中的d(特别是问题解决后)。这会让答案看起来很傻,如果有人有类似的问题,并且在这个问题上遇到了问题,他们就不能再使用这个来帮助他们了。我可以看到你写这篇文章时是新手,所以我会继续写,只在这里发表评论;请不要更新问题中的代码以反映答案中发布的内容(特别是如果问题解决了的话)。这会让答案看起来很傻,如果有人有类似的问题,并且在这个问题上绊倒了,他们就不能用这个来帮助自己了。