C语言输入字符问题 为撒用gets(a)才行,scanf("%s",a)就不行,scanf不也是用来输入字符串的么?

2024-11-07 18:48:54
推荐回答(5个)
回答1:

scanf只能读入一个单词,即去掉前边空格,然后读到下个空格
其他的字符就不要了
不如你
定义一个
char ch;
然后ch=getchar();
然后把ch赋值给数组每个元素

回答2:

因为用scanf的话,输入空格就表示你输入完毕,所以后边的就没有存进去。

回答3:

#include 

int main(int argc, char** argv)
{
char a[30];
scanf("%[^\n]s",a);//这样就行了
printf("%s\n", a);
   return 0;
}

回答4:

再看看gets() 和 scanf("%s",a)的概念吧,好好掌握

回答5:

scanf不能输入空格,fgets可以