C语言在输入一维数组时,如果想要用回车停止输入,那么这种写法对吗?

if(a[i]==\n)break;... if(a[i]==\n)
break;
展开
 我来答
White_MouseYBZ
2019-12-17 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6352万
展开全部

这还真有点小学问,如果是字符数组,if(a[i]!='\n') break;就可以了,但得把不需要的那个'\n'从数组中用a[i]='\0';抹掉并添加了结束符。要是数字数组,比如整数数组呢,上面方法就不凑效了。用下面代码可实现——

TableDI
2024-07-18 广告
当我们谈到Python与Excel的拆分时,通常指的是使用Python的库来读取Excel文件中的数据,然后根据某种逻辑(如按行、按列、按特定值等)将数据拆分成多个部分或输出到新的Excel文件中。上海悉息信息科技有限公司在处理这类任务时,... 点击进入详情页
本回答由TableDI提供
cdyzxy
2019-12-15 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3581万
展开全部

因为每个数据输入结束,默认以空格,制表符,回车结束,因此这样判断就需要用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'

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MS19970305
2019-12-15 · TA获得超过1370个赞
知道小有建树答主
回答量:1816
采纳率:33%
帮助的人:104万
展开全部
这种做法是错误的,会导致部分程序出现错误
追问
怎么修改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咎梦寒3d
2019-12-15 · TA获得超过662个赞
知道小有建树答主
回答量:4040
采纳率:38%
帮助的人:232万
展开全部
最佳不知你用的何种循环,试试 ctrl+z
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式