问答详情
源自:4-7 循环结构之do-while循环

do-while循环相关

2、以下程序段可给数组x的所有元素输入数据。
int x[10], i=0;
do {scanf("%d", &x[i]);i++;}
while(i<10);

上面这道是非题是对的,但我有几点不明白:
1.类型为整型的数组也用  %d  吗?
2.根据这个程序段,用VC++6.0运行时,是用键盘输入一个数字然后摁回车吗?

提问者:高四高五高六高七 2017-01-12 14:30

个回答

  • 全栈港
    2017-01-12 18:37:59
    已采纳

    #include <stdio.h>
    int main() 
    { 
       int x[10], i=0;
       do 
       {
          scanf("%d", &x[i]);
    	  i++;
       }
       while(i<10);
       for(int i=0;i<10;i++)
       {
       	 printf("%d",x[i]);
       	 printf(" ");
       }
       
    	return 0;
    }

    这是测试所用代码,自己可以运行一下。

    接下来回答疑问:

    1. 类型为整型的数组也用  %d?

      &在这里是取地址;
      &X[i]在这里是取X[i]的地址;
      scanf("%d",&x[i])是输入一个整数,程序将此整数存入X[i]里面;

      因此x[i],i取确定值时,x[i]相当于整形变量,所以用十进制整数占位符。

    2. 用VC++6.0运行时,是用键盘输入一个数字然后摁回车吗?

      vc++6.0我不知道,但在目前的平台上,使用空格连续输入与回车逐个输入都可以对数组赋值;

      自我感觉VC++6.0有点老。。,现在一般用vs2012或2015了,没有的可以从这下载2012版本 http://bbs.ithome.com/thread-527319-1-1.html