| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1026 人关注过本帖
标题:这个输出结果为什么会是这样?
只看楼主 加入收藏
dcpfeiniao
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-6-3
结帖率:20%
收藏
已结贴  问题点数:20 回复次数:4 
这个输出结果为什么会是这样?
#include<stdio.h>
main()
{
    int a=3,b=5,c=7;
    if(a>b)a=b;
    c=a;
    if(c!=a)
    c=b;

printf("%d,%d,%d\n",a,b,c);
return 0;
}

我认为结果是a=3,b=5,c=5,但是输出结果却是3,5,3.不解的是红色标记的代码,如果c不等于a,结果为真,则执行c=b.
希望哪位高手帮我解释一下,谢谢了。
2016-03-06 11:38
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:10 
程序代码:
#include<stdio.h>

int main()
{
    int a=3,b=5,c=7;
     
    if(a>b)  a=b;  //a<b,false,a=3,b=5,c=7
    
    c=a;  //a=3,b=5,c=3
    
    if(c!=a)  c=b;  //c==a,false,a=3,b=5,c=3
    
    printf("%d,%d,%d\n",a,b,c);  //3,5,3
    
    return 0;
}

   唯实惟新 至诚致志
2016-03-06 11:49
z13631440976
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
威 望:2
帖 子:40
专家分:118
注 册:2016-3-5
收藏
得分:10 
追问一下
#include<stdio.h>
 main()
 {
     int a=3,b=5,c=7;
     if(a>b)a=b;
     c=a;
     if(c!=a)
     c=b;
 printf("%d,%d,%d\n",a,b,c);
 return 0;
 }
if()函数没有{} 怎么判断if()函数在哪里结束?
怎么知道if()的主体不是)a=b;c=a;而只是a=b; ?
2016-03-06 20:24
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
回复 3楼 z13631440976
if()后面如果没有{},则以第一个分号结束。

   唯实惟新 至诚致志
2016-03-06 21:39
dcpfeiniao
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-6-3
收藏
得分:0 
回复 2楼 qq1023569223
懂了,多谢大神指导。
2016-03-07 14:27
快速回复:这个输出结果为什么会是这样?
数据加载中...
 
   



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

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