| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 676 人关注过本帖
标题:if 语句下变量的值交换的小问题,求前辈解释
只看楼主 加入收藏
Qiwan
Rank: 2
来 自:河南
等 级:论坛游民
帖 子:48
专家分:28
注 册:2011-5-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
if 语句下变量的值交换的小问题,求前辈解释
#include<stdio.h>
int main()
{
 int a,b,c;
 a=1;b=2;c=3;
 if(a>c)
     b=a;
     a=c;
     c=b;
     printf(" %d\n %d\n %d\n",a,b,c);
     return 0;
}
if语句的a>c不成立,那么下面的三个语句值会如何变换??这里的输出结果是3 2 2,,但是我搞不懂了,求前辈们详解呀```
搜索更多相关主题的帖子: return 
2011-05-21 22:40
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:2 
去看看书里,怎么讲述if语句的(提示:花括号)。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-21 22:49
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:2 
只能提示!顶楼上!

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-05-21 23:39
考伊斯
Rank: 2
来 自:陕西西安
等 级:论坛游民
帖 子:99
专家分:70
注 册:2010-11-27
收藏
得分:7 
if(a>c) b=a;
/*如果成立 则执行b=a,不成立则执行     a=c;
     c=b;
*/
你要是仔细的话不难看出  if(a>c)和b=a之间没有用分号隔开, 你可以把它们看做是一条语句, 在C语言中 “;”是每条语句之间的标志, 相当于汉语中的句号。

我是这样理解的,楼主可以参考参考。

————————学海无涯、不耻下问------------------------------                    
2011-05-21 23:52
考伊斯
Rank: 2
来 自:陕西西安
等 级:论坛游民
帖 子:99
专家分:70
注 册:2010-11-27
收藏
得分:0 
对了,我也觉得你应该好好把书再仔细看看。

————————学海无涯、不耻下问------------------------------                    
2011-05-21 23:53
qianyou
Rank: 3Rank: 3
来 自:江西南昌
等 级:论坛游侠
帖 子:76
专家分:189
注 册:2011-3-25
收藏
得分:7 
以下是引用Qiwan在2011-5-21 22:40:40的发言:
#include
int main()
{
 int a,b,c;
 a=1;b=2;c=3;
 if(a>c)
     b=a;
     a=c;
     c=b;
     printf(" %d\n %d\n %d\n",a,b,c);
     return 0;
}
 
if语句的a>c不成立,那么下面的三个语句值会如何变换??这里的输出结果是3 2 2,,但是我搞不懂了,求前辈们详解呀```
如果a>c不成立,就会执行a=c;和c=b;这两条语句。你这个代码相当于
#include
int main()
{
 int a,b,c;
 a=1;b=2;c=3;
 if(a>c)
     b=a;
   else
    {a=c;c=b;}
     printf(" %d\n %d\n %d\n",a,b,c);
     return 0;
}
楼主现在应该看得懂吧!
2011-05-22 00:08
夜叶
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:104
专家分:189
注 册:2011-5-7
收藏
得分:1 
楼上的有问题,在楼主的源程序中,if与下面的是顺序执行,若加了个else语句则会发生变化,变成条件执行了。4楼正解
2011-05-22 09:42
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
先去搞基础吧

                                         
===========深入<----------------->浅出============
2011-05-22 09:48
江南烟雨0590
Rank: 2
等 级:论坛游民
帖 子:21
专家分:42
注 册:2011-5-22
收藏
得分:1 
一般都要定义一个t进行交换。
2011-05-22 11:51
Qiwan
Rank: 2
来 自:河南
等 级:论坛游民
帖 子:48
专家分:28
注 册:2011-5-15
收藏
得分:0 
回复 2楼 ansic
谢谢提示呀,明白了~~
2011-05-22 16:14
快速回复:if 语句下变量的值交换的小问题,求前辈解释
数据加载中...
 
   



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

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