| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:do while 问题
取消只看楼主 加入收藏
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
do while 问题
#include <stdio.h>
int main()
{
  int i=0,a[10];
   printf("input numbers,if you want stop,input 100:\n");
  do
     { printf("i=%d,a[i]=%d",i,a[i]);
       scanf("%d\n",&a[i]);
       i+=1;
     }
   while(a[i]!=100);
    }
为什么,程序执行时,a[i]我还没赋值呢,他却print了一个极大的数来?

#include <stdio.h>
int main()
{
  int i=0,a[10];
   printf("input numbers,if you want stop,input 100:\n");
  do
     {    i+=1;   
         scanf("%d\n",&a[i]);
         printf("i=%d,a[i]=%d",i,a[i]);

     }
   while(a[i]!=100);
    }
这种情况,运行起来,输入第一个数,不输出,当输入第二个数时,却输出第一次运算数值。又是为什么呢?
搜索更多相关主题的帖子: include numbers 
2012-02-29 23:09
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
收藏
得分:0 
回复 3楼 sunlang1234 并4楼。
谢谢回复。
其实,我在下面的代码中,已经将printf()和scanf()换了位置,
也出现了问题,我知道是scanf("%d\n",&a[i]);中的“\n”的问题,
但不知道是什么原因?
寻求帮助。

这样乱写,只是想理解下各种语句的执行情况。
2012-03-01 07:35
快速回复:do while 问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033182 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved