| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:do while 问题
只看楼主 加入收藏
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
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
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:5 
printf和scanf调换一下位置

最基础的往往是你最容易忽略的!
2012-02-29 23:23
sunlang1234
Rank: 2
等 级:论坛游民
帖 子:47
专家分:77
注 册:2012-2-24
收藏
得分:5 
你错了,应该写成scanf("%d\n",&a[i]);printf("i=%d,a[i]=%d",i,a[i]);i++;首先写程序块,在写变量迭代。
2012-02-29 23:33
huang1982
Rank: 2
等 级:论坛游民
帖 子:25
专家分:29
注 册:2012-2-13
收藏
得分:5 
语句的执行是自上而下~~~
     { printf("i=%d,a[i]=%d",i,a[i]);
       scanf("%d\n",&a[i]);
       i+=1;
     }
还没给a[i]赋值就输出,那是个垃圾值~~

 {    i+=1;   
         scanf("%d\n",&a[i]);
         printf("i=%d,a[i]=%d",i,a[i]);

     }
这个你先进行运算了在输入,不能说错,如果你要的就是这种效果。
2012-02-29 23:47
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
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:5 
\n代表的是回车换行,在输出的时候从\n后面开始就在下一行显示

梅尚程荀
马谭杨奚







                                                       
2012-03-01 10:48
时尚先锋
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-2-22
收藏
得分:0 
好贴要顶
2012-03-01 10:54
快速回复:do while 问题
数据加载中...
 
   



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

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