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

#include<stdio.h>
int main()
{
 int n;
 scanf("%d", &n);
 while (n--)
 {
  int m, j, i;
  scanf("%d", &m);
  printf("%d", m);
 }
 return 0;
}

此Q不用0
浏览 1276回答 2
2回答

亚努人

变量只能赋一个值?变量就是可变的量,其值是可变的。只能赋一个值的是常量。

三十二应遍尘刹

你还可以输入更多个哦!打个简单的比方啊,如果你想输入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 都是有问题了吧,但事实不是。 这不是一个变量被重复赋值,更深刻的问题我也解释不清,我觉得没有必要在这个问题上死磕吧。当然最好是打破砂锅问到底吧,等你知道了,就也告诉我一下原理也行!我这只是经验之谈吧,自己也不是明白,只因曾经也有相同的疑惑,一句一句执行,然而还是有点不同的。
打开App,查看更多内容
随时随地看视频慕课网APP