这还真有点小学问,如果是字符数组,if(a[i]!='\n') break;就可以了,但得把不需要的那个'\n'从数组中用a[i]='\0';抹掉并添加了结束符。要是数字数组,比如整数数组呢,上面方法就不凑效了。用下面代码可实现——
因为每个数据输入结束,默认以空格,制表符,回车结束,因此这样判断就需要用getchar之类的逐字符输入并做判断才能合适,但逐字符输入又必须将数字字符连起来组成数字并翻译成数字输入变量,这样比较麻烦。
一般一维数组输入一般事先确定数字个数,或者以特殊数字结束,或者可以:
int a[20],n;
n=0;
while ( 1 ) {
if ( scanf("%d",&a[n])==1 ) { n++; if ( n>=20 ) break; }
else break; //没有获得新输入的数据,比如遇到了回车符,则结束循环
}
你题目中如果a[i]的类型是char型,也要写做a[i]=='\n'
本回答被网友采纳怎么修改