标题:曾怡讲的谭浩强教程中的一个错误?
取消只看楼主
hahahan
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-4-10
 问题点数:0 回复次数:2 
曾怡讲的谭浩强教程中的一个错误?


#include "stdio.h"
#include "conio.h"

void main()
{ int a=1;
printf("%d\n",a=3*a,3*a);
getch();
}
输出结果为
3

但是曾怡说这个3是3*a的值。

我试着改了一下:
#include "stdio.h"
#include "conio.h"

void main()
{ int a=1;
printf("%d\n",a=3*a,4*a);
getch();
}

按照曾怡的说法,结果应为4。但是实际结果还是 3



????是讲错了么?还是结果与编译器有关。

搜索更多相关主题的帖子: 谭浩强 曾怡 教程 
2007-04-13 10:24
hahahan
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-4-10
得分:0 

[此贴子已经被作者于2007-4-13 11:06:41编辑过]


没事儿你就多到这儿转转
2007-04-13 11:05
hahahan
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-4-10
得分:0 
回复:(tvkl)我看帖后的总结,供参考:例:#include...

补充一下,个人理解:

在计算的时候是从右往左,在输出的时候是从左往右。

#include "stdio.h"
#include "conio.h"

void main()
{ int a=1;
printf("%d\n",3*a,a=3*a);
getch();
}
结果是 9,

说明计算时是先算a=3*a ,再算3*a。 所以结果本应为 9 3 。 但是输出从左往右,此处只有一个%d ,所以只输出了 左边的 9

不知这样理解对不?


没事儿你就多到这儿转转
2007-04-14 10:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-131510-1-1.html




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

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