执行语句“for(i=0;i<10;++i,++a)scanf("%d",a);”试图为int类型数组a[10]输入数据,是错误的。错误的原因

 我来答
旅游小达人Ky
高粉答主

2021-01-27 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1893
采纳率:100%
帮助的人:39.5万
展开全部

a在这里是常量,不能++a,需要声明一个int *p;p=a;,然后++p,

具体改为如下int *p=a;

for(i=0;i<10;++i,++p)scanf("%d",p);

扩展资料

C++程序中最小的独立单位相当于一篇文章中的一个句子,句子是用句号结束的。语句一般是用分号结束的(复合语句是以右花括号结束的)。C++语句可以分为以下4种:声明语句、执行语句、空语句、复合语句。

所谓的可执行语句是:可以通过编译产生对应的汇编代码和机器码的语句。比如:括号、预处理语句(行首是#的如#include)、注释 等等。像赋值、逻辑运算、算术运算、分支、循环等,都可以转化成相应的汇编代码,他们都是可执行语句。

heyihan1988
2011-01-05 · TA获得超过245个赞
知道小有建树答主
回答量:213
采纳率:100%
帮助的人:179万
展开全部
因为++a是错误的
数组名数一个常量,不能改变该值

楼上,修改后才是错误的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
20...2@qq.com
2011-01-05 · 超过41用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:106万
展开全部
a在这里是常量,不能++a,你需要声明一个int *p;p=a;,然后++p,具体改为如下
int *p=a;
for(i=0;i<10;++i,++p)scanf("%d",p);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-01-05
展开全部
for(i=0;i<10;++i)
scanf("%d",&a[i]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝色_灵魂
2011-01-05 · TA获得超过680个赞
知道小有建树答主
回答量:1127
采纳率:0%
帮助的人:557万
展开全部
for(i=0;i<10;i++)
scanf("%d",a[i]) ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式