鱼C论坛

 找回密码
 立即注册
查看: 4793|回复: 15

再麻烦一下个位帮忙看看吧

[复制链接]
发表于 2013-8-19 20:02:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<math.h>
#define SIZE 8
int main()
{
        int num[SIZE],index;
        int value=1;
        for(index=0;index<SIZE;index++)
        {
               
               
                num[index]=value;//A
                value=pow(2,index);//B
        }
        index=0;
        do{
               
                printf("%d\n",num[index]);
                index++;
               
        }while(index<SIZE);
        printf("\n");
        return 0;
}
这个代码中的A、B两个语句前后位置换了的话,为什么输出就不一样了?我是这样想的,当A语句在前时,前两个循环这样
index=0;
num[0]=value=1;
value=pow(2,0)=1;
index=1


index=1;
num[1]=value=1;
value=pow(2,1)=2;
index=2;

哪里错了,这样输出结果是 0.jpg ,不明白啊!能给个详解吗?就是每一步循环的情况,写清楚最好

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-19 20:15:13 | 显示全部楼层
我是牡丹的朋友,我现在去找牡丹过来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-19 20:18:01 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-19 20:20:14 | 显示全部楼层
他在录视频呢,等下吧。我已经叫了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-19 20:22:54 | 显示全部楼层
迷爱 发表于 2013-8-19 20:20
他在录视频呢,等下吧。我已经叫了

哦哦,支持他
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-19 20:23:34 | 显示全部楼层
A B调换肯定就不一样了啊
不调换的话 第一次是 num[0] = 1  ;   value = 2 ^ 0
调换的话 第一次是 value = 2 ^ 0 = 1 mum[1] = 1 啊
你看第一次就不同的 你认为输出会相同吗?》
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-19 20:29:35 | 显示全部楼层
牡丹花下死做鬼 发表于 2013-8-19 20:23
A B调换肯定就不一样了啊
不调换的话 第一次是 num[0] = 1  ;   value = 2 ^ 0
调换的话 第一次是 value  ...

调换的话第一次怎么变成了num[1]=1而不是num[0]=1,index执行增量不是在语句全运行完以后吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-19 20:34:19 | 显示全部楼层
诸葛暗 发表于 2013-8-19 20:29
调换的话第一次怎么变成了num[1]=1而不是num[0]=1,index执行增量不是在语句全运行完以后吗

for(a;b;c)
{
        d;
        e;
}
运行顺序是 a -> b(如果成功) -> d -> e -> c-> b(如果成功) -> d -> e -> c -> b(如果不成功) -> 退出循环
不懂再问
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-20 07:51:53 | 显示全部楼层
                num[index]=value;//A
                value=pow(2,index);//B
如果置换成
                value=pow(2,index);//B
                 num[index]=value;//A
第一种:index从0到7
也就是说 num[0]=value=1  
             num[1]=value=1  2的0次方
             num[2]=value=2  2的1次方
下边num[index]是多少就是(index-1)个次方数。对吧~~~
至于为什么这样朋友这里就有一个先计算后赋值,先赋值后计算的问题。朋友在循环内设置断点。先断点调试会更加清晰。~~~不会就call牡丹。
第二种 num[0]=value = 1 这里先计算了2的零次方然后赋值给力它
          num[1]=value =    后边的 []里边是什么就是几次幂。

下边就是一个循环打印  没什么好说的
for(a;b;c) a语句只跑一次。在刚运行for的时候第一个运行的是 a语句, 然后去判断,如果为真(这里需要一个逻辑值 c的这个值使用了int型代替,)为真就执行循环体内语句,执行完后再去执行C语句。如果还不理解的话我写了一段。朋友拿去编译一下。
  1. #include<stdio.h>
  2. #include<math.h>
  3. #define SIZE 8
  4. int main()
  5. {
  6.         int num[SIZE],index;
  7.         for(index=0,printf("A\n");(printf("B\n"),index<SIZE);index++,printf("C\n"))
  8.         printf("D\n");
  9.         getchar();
  10.         getchar();
  11.         return 0;
  12. }
复制代码
朋友循环次数可以减少一点~~有助于理解 偷懒我就不改了{:7_174:},
这段代码将有助于 你理解for语句的执行过程。如果不理解CALL牡丹~~~牡丹天天在线。
在线时长1461 小时  ~~~这货开挂的吧~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-20 09:26:23 | 显示全部楼层
Crazy迷恋. 发表于 2013-8-20 07:51
num=value;//A
                value=pow(2,index);//B
如果置换成

我说你不黑我心里不平衡是吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-20 09:35:23 | 显示全部楼层
牡丹花下死做鬼 发表于 2013-8-20 09:26
我说你不黑我心里不平衡是吧

牡丹不要生气哦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-20 09:38:29 | 显示全部楼层
aces 发表于 2013-8-20 09:35
牡丹不要生气哦

不是生气 啊 都习惯了  (*^__^*) 嘻嘻……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-20 09:44:34 | 显示全部楼层
牡丹花下死做鬼 发表于 2013-8-20 09:26
我说你不黑我心里不平衡是吧

我了个去~~~迷恋黑你那不是常事?而且我也木有黑吧~~~上边指明要牡丹不要迷恋的。所以迷恋强烈推荐牡丹~~~没黑。真没黑~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-20 10:20:33 | 显示全部楼层
Crazy迷恋. 发表于 2013-8-20 09:44
我了个去~~~迷恋黑你那不是常事?而且我也木有黑吧~~~上边指明要牡丹不要迷恋的。所以迷恋强烈推荐牡丹~~ ...

你说我开挂 这不是黑马 我一开始看下来感觉迷恋还出错啊  看到最后 ......
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-20 10:25:28 | 显示全部楼层
牡丹花下死做鬼 发表于 2013-8-20 10:20
你说我开挂 这不是黑马 我一开始看下来感觉迷恋还出错啊  看到最后 ......

不好意思不好意思~~~手误手误~~~{:7_173:} 一不小心就手误了。手误而已哈~~~迷恋是好人。:lol:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-20 10:36:08 | 显示全部楼层
Crazy迷恋. 发表于 2013-8-20 07:51
num=value;//A
                value=pow(2,index);//B
如果置换成

我仔细瞧瞧,谢谢你了(*^__^*)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-5 11:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表