#include <stdio.h>
int main ()
{
char c[10];
int k=0;
printf("please enter the element value in character\n");
for(k=0;k<10;k++)
{
scanf("%c",&c[k]);
}
for(k=0;k<10;k++)
{
printf("Value in char is %c\n",c[k]);
}
return 0;
}
//问题是我只能初始化5个char的值而不是10个。 我的IDE是带有GNU GCC COMPILER的code :: blocks。
答案 0 :(得分:0)
您可以使用scanf("%c%*c");
来阅读角色后的换行符。 %* c匹配单个字符,但星号表示该字符不会存储在任何位置。这会消耗enter键生成的换行符,以便下次调用scanf()时,您将使用空输入缓冲区。
答案 1 :(得分:0)
当您从键盘上按Enter键时,程序会按Enter按钮读取您刚刚输入的字符(例如“a”)以及换行符(“\ n”)。您必须通过以下方式编写scanf来处理代码:scanf(“%c”,&amp; c [k])。在%c之前必须有一个空格。这告诉编译器忽略所有空格字符。