【发布时间】:2014-07-05 06:23:19
【问题描述】:
我对 C 编程中的一些基本理论感到困惑:
-
不同数据类型的变量的默认值是多少?示例:如果我声明如下,根据传奇 Dennis Ritchie 博士记录的标准 C 手册,结果可能是什么?
int x; printf("%d",x);我知道一些 GCC 编译器会打印 0 和一些垃圾值。这取决于编译器。请根据 Dennis Ritchie C 编程文档给我唯一的答案。
同上,请给我关于float、char、double、string、array和pointers的答案。
-
如果我声明并打印指针如下:
int *pt; printf("%d",pt);屏幕上会打印什么?我使用了 MinGW GCCcompiler 3.4.2 版,其中我得到了一个垃圾值。请帮助我解决这些困惑。
谢谢。
【问题讨论】:
-
printf("%d", pt);具有未定义的行为;"%d"需要int类型的参数。打印指针值:printf("%p", (void*)pt); -
请注意,Messrs Ritchie 等人已经有一段时间没有参与进来了。当前的黄金标准是 ISO C。搜索它。有很多网站可以找到这个简单问题的答案。
标签: c default-value