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

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

[复制链接]
跳转到指定楼层
#
发表于 2013-2-11 12:00:29 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
5啊哈币
\#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;
    printf("\na的值是%d",a);
    printf("\na与b比较的结果=%d",a==b);
    getch();
return 0;
}
18#
 楼主| 发表于 2013-2-15 02:12:53 | 只看该作者
风微笑 发表于 2013-2-15 01:41
看看你的第一排是不是有问题?   \#include

的确,没注意,谢谢
17#
发表于 2013-2-15 01:41:17 | 只看该作者
看看你的第一排是不是有问题?   \#include <stdio.h>
16#
发表于 2013-2-15 01:38:19 | 只看该作者
#include <stdio.h>
int main()
{
int x,y,z;
x=140;
y=0140;
z=Ox140;
printf("%d\t%d\t%d\n",x,y,z);//按十进制输出变量
printf("%o\t%o\t%o\n",x,y,z);//按八进制输出变量
printf("%x\t%x\t%x\n",x,y,z);//按十六进制输出变量       
        sleep(5000);
        return 0;
}帮个忙看下哪里不行。。。谢谢 了
15#
 楼主| 发表于 2013-2-12 14:15:07 | 只看该作者
981013 发表于 2013-2-12 14:08
a=2*8,a/4;
a/4是想干嘛?
若想要让a的值变为4,应该为

a/4意思是把a的值除以4,这个句子本意是想考我们到底是把2*8的值赋给a还是把a/4的值赋给a
14#
发表于 2013-2-12 14:08:54 | 只看该作者
a=2*8,a/4;
a/4是想干嘛?
若想要让a的值变为4,应该为
a=2*8,a=a/4;
13#
发表于 2013-2-11 16:47:08 | 只看该作者
月光疾风 发表于 2013-2-11 16:30
因为少了个参数,语法没有错误,编译器就产生了一个垃圾值 ,是这样么

大概就是这意思吧

具体怎么处理的要看中间产生的汇编文件
12#
发表于 2013-2-11 16:30:12 | 只看该作者
rosynirvana 发表于 2013-2-11 16:00
好吧是这样子的

根据c99标准

因为少了个参数,语法没有错误,编译器就产生了一个垃圾值 ,是这样么
11#
 楼主| 发表于 2013-2-11 15:56:10 | 只看该作者
月光疾风 发表于 2013-2-11 14:39
什么书,书名发下,还有就是第几页

零基础学C语言   p117
10#
发表于 2013-2-11 14:53:12 | 只看该作者
月光疾风 发表于 2013-2-11 14:49
[mw_shl_code=c,true]/*如果去掉括号*/
#include
#include

conio.h是为了用getch
9#
发表于 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中有定义
8#
发表于 2013-2-11 14:47:02 | 只看该作者
看样子是用了些未定义行为……
7#
发表于 2013-2-11 14:39:25 | 只看该作者
然后安越 发表于 2013-2-11 14:33
我也不懂啊,书上是这么写的(不是啊哈c)

什么书,书名发下,还有就是第几页
6#
 楼主| 发表于 2013-2-11 14:33:49 | 只看该作者
月光疾风 发表于 2013-2-11 13:26
楼主这行  printf("最后输出的结果是%d,但a的值是%d",(a=2*8,a/4));里的a=2*8,a/4为什么要一个小括号呀, ...

我也不懂啊,书上是这么写的(不是啊哈c)
5#
 楼主| 发表于 2013-2-11 14:33:41 | 只看该作者
月光疾风 发表于 2013-2-11 13:26
楼主这行  printf("最后输出的结果是%d,但a的值是%d",(a=2*8,a/4));里的a=2*8,a/4为什么要一个小括号呀, ...

我也不懂啊,书上是这么写的(不是啊哈c)
地板
发表于 2013-2-11 14:32:15 | 只看该作者
如果去掉括号,永远都为假

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

QQ截图20130211134045.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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