可能重复:
How do you allow spaces to be entered using scanf?scanf(%s)不允许空间? C编程
char inputStr[64];
int inputInt;
printf("Enter a number:");
scanf("%d",&inputInt);
printf("\nEnter a string:");
scanf("%s",&inputStr);
上面的代码具有2部分,在读整数和字符串。
读取一个整数很好。
读取字符串也很好,考虑到字符在64以下,并且没有空格。
这就是问题所在。
scanf
只能读取字符到一个空格。
空间消失后的一切。
如何在scanf中包含空间?
是的,tkz很多。 'fgets'读取空格。但它也读取'\ n'。我怎么忽略它? – william
@william你总是可以通过:'inputStr [strlen(inputStr) - 1] ='\ 0'来移除'\ n';'如果字符串中的最后一个字符是''\ n''。 – AusCBloke
@william只要将\ n更改为\ 0我猜。 –