【发布时间】:2015-11-19 05:45:22
【问题描述】:
我有一个 C 代码。
int a;
a =10;
printf ("%d", &a);
我想知道是否会打印一些垃圾或显示错误消息。 基本上我有兴趣了解 printf 的工作原理。它是否有表格中的变量列表之类的东西。如果有一个表,它将从那里获取 &a 的值
【问题讨论】:
-
您的编译器对此有何评论。如果答案是“什么都没有”,那么您需要提高警告级别,或者获得更好的编译器。您的代码调用未定义的行为,因为参数列表与格式字符串不匹配。
-
您是否尝试过运行该代码?当你做的时候你会得到什么?你问题的后半部分似乎没有任何意义。不确定变量表与
printf有什么关系。它从传递给它的参数中获取&a的值。 -
你为什么不用
int a = 10;?
标签: c