搜索
查看: 4393|回复: 18
打印 上一主题 下一主题

不上机说出以下代码的运行结果

[复制链接]
楼主
发表于 2013-2-11 13:26:50 | 显示全部楼层
然后安越 发表于 2013-2-11 12:07
而且每次我用啊哈c运行的结果都不一样

楼主这行  printf("最后输出的结果是%d,但a的值是%d",(a=2*8,a/4));里的a=2*8,a/4为什么要一个小括号呀,不懂?求解...
沙发
发表于 2013-2-11 14:32:15 | 显示全部楼层
如果去掉括号,永远都为假

QQ截图20130211134045.png (6.61 KB, 下载次数: 12)

QQ截图20130211134045.png
板凳
发表于 2013-2-11 14:39:25 | 显示全部楼层
然后安越 发表于 2013-2-11 14:33
我也不懂啊,书上是这么写的(不是啊哈c)

什么书,书名发下,还有就是第几页
地板
发表于 2013-2-11 14:49:49 | 显示全部楼层
本帖最后由 月光疾风 于 2013-2-11 14:51 编辑

[mw_shl_code=c,true]/*如果去掉括号*/
#include <stdio.h>
#include <conio.h>
int main()
{
    int a=5,b=4;
    printf("最后输出的结果是%d,但a的值是%d",a=2*8,a/4);   
    a=2*8,a/4;    /*a=16  a/4=1 您上面用的是整型,所以a/4这的值为1*/
    printf("\na的值是%d",a);  /*您的第二次申明a的值为16*/
    printf("\na与b比较的结果=%d",a==b);  /*16和4是永远不可能等于的,所以为假*/
    getch();
return 0;
}
[/mw_shl_code]
括号难到在conio.h中有定义
5#
发表于 2013-2-11 16:30:12 | 显示全部楼层
rosynirvana 发表于 2013-2-11 16:00
好吧是这样子的

根据c99标准

因为少了个参数,语法没有错误,编译器就产生了一个垃圾值 ,是这样么
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表