为了账号安全,请及时绑定邮箱和手机立即绑定

循环输入赋值问题 变量只能赋一个值 但我如果直接输入2个值如(34 45)也能直接输出(34 45)为什么

循环输入赋值问题 变量只能赋一个值 但我如果直接输入2个值如(34 45)也能直接输出(34 45)为什么

C
此Q不用0 2017-03-27 21:13:46
#include<stdio.h>int main(){ int n; scanf("%d", &n); while (n--) {  int m, j, i;  scanf("%d", &m);  printf("%d", m); } return 0;}
查看完整描述

2 回答

?
亚努人

TA贡献58条经验 获得超75个赞

变量只能赋一个值?变量就是可变的量,其值是可变的。只能赋一个值的是常量。
查看完整回答
1 反对 回复 2017-03-28
?
三十二应遍尘刹

TA贡献22条经验 获得超7个赞

你还可以输入更多个哦!打个简单的比方啊,如果你想输入10个数在一行上,也输出十个数在一行上。难道你要定义十个变量吗?这多费事,所以你会想到的遍历数组是不是?然后就是

int array[10];
for(i=0;i<10;i++)
scanf("%d",array[i]);
/*在这一个循环语句中,不知道你会不会以为要输入一个数按一下enter,如果是这样的话多麻烦啊!所以C语言规定这种循环中可以用空格间隔输入多个数,可以把空格理解为一下enter吧*/
for(i=0;i<10;i++)
printf("%d",array[i]);
你自己去测试,按你的说法输入2 3 3 4 都是有问题了吧,但事实不是。
这不是一个变量被重复赋值,更深刻的问题我也解释不清,我觉得没有必要在这个问题上死磕吧。当然最好是打破砂锅问到底吧,等你知道了,就也告诉我一下原理也行!我这只是经验之谈吧,自己也不是明白,只因曾经也有相同的疑惑,一句一句执行,然而还是有点不同的。


查看完整回答
反对 回复 2017-03-28
  • 2 回答
  • 0 关注
  • 1252 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信