| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1324 人关注过本帖
标题:[求助]從未見過的printf問題
只看楼主 加入收藏
guochen3
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-1-16
收藏
 问题点数:0 回复次数:22 
[求助]從未見過的printf問題


令我十分驚呀?
例一:
#include<stdio.h>
main()
{int num=1;
printf("%d ,%d", ++num,num );
getch();
}結果是:2 ,1(我原以為是:2,2)

例二:
#include<stdio.h>
main()
{int num=1;
printf("%d , %d",num++,num);
getch();
}結果是:1 ,1(我原以為是:1,2)

例三:
#include<stdio.h>
main()
{int num=1;
printf("%d , %d",num,num++ );
getch();
}結果是:2 ,1(我原以為是:1,1)

例四:
#include<stdio.h>
main()
{int num=1;
printf("%d , %d",num,++num);
getch();
}結果是:2 ,2(我原以為是:1,2)


我從來沒有遇到這樣的事情,誰幫我解釋下不?謝謝!

搜索更多相关主题的帖子: printf 
2007-01-17 18:34
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
~~~计算是从左到右~~

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-01-17 18:42
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
说错~~~是从右到左`~~不好意思`~

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-01-17 18:43
guochen3
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-1-16
收藏
得分:0 
確定不是老兄這樣說.

雖然我很菜,但我永不言放棄。
2007-01-17 19:25
ffaannggqq
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-12-23
收藏
得分:0 
这和你的编译器有关系

2007-01-17 19:31
hanfeng744
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-1-4
收藏
得分:0 

说具体一点好不好


2007-01-17 19:52
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 

计算是从右到左执行的。。。这没什么奇怪的。。。
你可以测试一下就知道了

main()
{int num=1;
printf("%d ,%d", ++num,num,printf("first\n"));
getch();
}

你看看这个程序执行结果是什么。。。如下

first

1, 2

说明什么问题,说明printf("first\n")先执行的。。也就是从右到左


这个社会太复杂。。。
2007-01-17 20:22
mayudong1
Rank: 2
等 级:论坛游民
威 望:1
帖 子:348
专家分:21
注 册:2006-4-18
收藏
得分:0 
有时候不同的编译器结果也不同

2007-01-17 20:31
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
8楼说的没错。。我7楼说的是基于TC或WIN-TC而言

这个社会太复杂。。。
2007-01-17 20:49
intin
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-3-1
收藏
得分:0 
++和--(自增、自减运算符)的结合方向是"自右向左".(算术运算符的结合方向为"自左向右")
++num表示参数num的值先增1,然后再传递给函数. num++则表示先将参数传递给函数,然后参数的值再增1.

2007-01-17 22:07
快速回复:[求助]從未見過的printf問題
数据加载中...
 
   



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

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