| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 564 人关注过本帖
标题:学渣发现了一个以前自己没发现的现象
只看楼主 加入收藏
chaojishumiq
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2012-4-14
结帖率:60%
收藏
 问题点数:0 回复次数:7 
学渣发现了一个以前自己没发现的现象
最近开始根据《C primer plus》重头开始学习。

以前不怎么认真学习,基础太差了,所以这一次狠下心开始认真看
#include <stdio.h>
int main(void)
{
    int num;
    num = 1;

    printf("I am a simple ");
    printf("computer. \n");
    printf("My favorite number is %d because it is first.\n",num);
    getchar();
    return 0;
}
然后我输入这个程序,执行得时候,由于忘记输入标红的num

结果%d显示为零,居然还没报错,顺利执行了,这里应该是缺省是0.

恩,这个还是挺有趣的。

继续学习ing
搜索更多相关主题的帖子: computer because include number simple 
2015-11-03 18:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
这里应该是缺省是0.
------ 没有这回事
2015-11-03 20:10
chaojishumiq
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2012-4-14
收藏
得分:0 
回复 2楼 rjsp
哦,那么版主大大,为什么它会显示出零呢?
恩,也许继续看书下去就知道了。
2015-11-03 20:41
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
第一,它未必是零,比如我这里输出的有时是 -2043646890(vc9.0debug),有时是 4240276(vc9.0release),有时是 2(mingw5.2debug),有时是 7(mingw5.2release)

第二,永远无法从执行结果,甚至是现实手段上来反推标准的定义。亦即,即使世界上所有编译器对你这段代码输出为0,也不能说明“缺省是0”


2015-11-04 08:35
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:0 
回复 3楼 chaojishumiq
如果是初级书估计不会讲这个,楼主去搜一搜参数和栈


莫问前尘有愧,但求今生无悔
2015-11-04 10:19
chaojishumiq
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2012-4-14
收藏
得分:0 
回复 4楼 rjsp
恩,您说得非常正确,非常感谢
2015-11-04 19:09
chaojishumiq
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2012-4-14
收藏
得分:0 
回复 5楼 pycansi
恩,谢谢
2015-11-04 19:10
火虹
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-10-11
收藏
得分:0 
printf里的%d引导
2015-11-05 01:44
快速回复:学渣发现了一个以前自己没发现的现象
数据加载中...
 
   



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

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