打印

下面这个程序的具体运行过程求解

[复制链接]
1145|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
snows512921|  楼主 | 2014-2-10 08:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
snows512921|  楼主 | 2014-2-10 09:00 | 只看该作者
对于这个程序有以下几点疑问:
1.它是怎么运算的?
2.for循环是怎么循环的,为什么输出是倒序的?有点看不明白

使用特权

评论回复
板凳
soso| | 2014-2-10 09:38 | 只看该作者
第一个for循环是初始化a[10], i初始值为0, i=0,a[0]=0,然后i+1,此时为1,a[1]=1,一直这样循环到i=9,a[9]=9;
第二个for循环是用printf输出a[10],这个for循环是从i=9开始第一次输出a[9],接着i--为8,输出a[8],在i--,输出
a[7],这样一直循环到i=0,即输出a[0],这样就实现了倒叙输出.

使用特权

评论回复
地板
snows512921|  楼主 | 2014-2-11 16:41 | 只看该作者
匿名者 发表于 2014-2-10 09:38
第一个for循环是初始化a[10], i初始值为0, i=0,a[0]=0,然后i+1,此时为1,a[1]=1,一直这样循环到i=9,a[9]=9;
...

那上面的程序能直接写成下面这样么?
#include <stdio.h>
void main()
{
   int i,a[10];
   for(i=9;i>=0; i--)
      a[i]=i;
   printf("%d ″,a[i]);
   printf("\n″);
}

使用特权

评论回复
5
craaazyfor| | 2014-2-12 08:17 | 只看该作者
怎么赋值,怎么输出都是你说了算,想怎么赋,怎么输出就怎么写。

使用特权

评论回复
6
lvyunhua| | 2014-2-14 09:07 | 只看该作者
本帖最后由 lvyunhua 于 2014-2-14 09:09 编辑
那上面的程序能直接写成下面这样么?
#include <stdio.h>
void main()
{
   int i,a[10];
   for(i=9;i>=0; i--)
      a[i]=i;
   printf("%d ″,a[i]);
   printf("\n″);
}

不可以的。你这样只输出一个结果就是a[0]=0

使用特权

评论回复
7
snows512921|  楼主 | 2014-2-17 15:31 | 只看该作者
lvyunhua 发表于 2014-2-14 09:07
不可以的。你这样只输出一个结果就是a[0]=0

为什么?有点不懂,求详解

使用特权

评论回复
8
john_lee| | 2014-2-17 18:09 | 只看该作者
snows512921 发表于 2014-2-17 15:31
为什么?有点不懂,求详解

for 后只能有一条语句。

使用特权

评论回复
9
lvyunhua| | 2014-2-18 13:04 | 只看该作者
如果for后面有两条或两条以上的语句,需要{}符号将它们括起来。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

9

帖子

1

粉丝