Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.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 - Fatal编程技术网

C 有人能帮我解决这个边做边做的问题吗?(我是编程新手)

C 有人能帮我解决这个边做边做的问题吗?(我是编程新手),c,C,为什么扫描进入do时会卡住?当我运行这个程序时,它总是在那里死机,我不知道为什么 #include <stdlib.h> #include <stdio.h> int main() { int c; char i[20]; char a [50] = {"abcdefghilmnopqrstuvzabcdefghilmnopqrstuvz"}; printf("inserisci la frase \n");

为什么扫描进入do时会卡住?当我运行这个程序时,它总是在那里死机,我不知道为什么

 #include <stdlib.h>
 #include <stdio.h>

  int main()
   {
      int c;
      char i[20];
      char a [50] = {"abcdefghilmnopqrstuvzabcdefghilmnopqrstuvz"};
      printf("inserisci la frase \n");
      scanf("%c", &i);
         do{
            printf("la Chiave e' (max 21) \n");
            scanf("%d",&c);
           }while(c<0 || c>21);
       printf("avviarsi della codifica...");

    }
#包括
#包括
int main()
{
INTC;
chari[20];
字符a[50]={“abcdefghilmnopqrstuvzabcdefghilmnopqrstuvz”};
printf(“inserisci la frase\n”);
scanf(“%c”、&i);
做{
printf(“la Chiave e”(最大值21)\n”);
scanf(“%d”、&c);
}而c21;
printf(“编纂法典的avviarsi della…”);
}

因为
scanf
读取stdin(控制台)的输入。它会一直等待,直到您输入一个数字并点击returnWhat condition cause可导致
c
scanf(“%c”,&i)将调用类型不匹配的未定义行为:
char*
应为转换说明符
%c
,但给出了
char(*)[20]
。请回答您的问题并显示您输入的内容。