我的这段程序为什么不对呢?程序为什么不执行了?

我的这段程序是这样的:
for(i=0;i<n;i++){
scanf("%s",a);//输入字符串
if(i<n-1){
scanf("%c",&blank);}//我试图这样输入一行空行,可是程序直接不执行了,这是为什么啊
测试数据中n=2,
可是我的blank是char型的啊,而且不是空格,是空行;

浮云间
浏览 115回答 3
3回答

收到一只叮咚

明确一下概念吧?....什么叫输入空行。在控制台中输入空行 &nbsp; -> &nbsp; 按回车在读入文件中加一个空行 &nbsp; -> &nbsp;直接在文件中加一个空行希望读入输入文件中的空行(通常情况下是读掉(为了不影响后面的读入)) 。方法一 : &nbsp;scanf("\n");直接读掉空行。或者也可以char c; scanf("%c",c);来将空行当成字符读掉。方法二:getchar();意义也是读掉一个字符,在读完空行前面的部分后加入getchar(),可以读掉空行。

慕森王

空行 不就是一组空格的字符串吗? 要用字符串只能是char i[j] 字符串也是一个数组..! scanf是不支持空格的.scanf()不支持空格...它遇到空格就会认为程序输入结束...想要输入空格键就要用 gets(a);手动按空格 直到再按回车..!for(i=0;i<n;i++){gets(a[i]);//输入字符串

慕的地6264312

gets()scanf()函数只接收所标识的格式(也就是说。输入'A',而格式控制是%d,那么acanf()并不接收
打开App,查看更多内容
随时随地看视频慕课网APP