【发布时间】:2013-06-04 04:34:10
【问题描述】:
问题陈述:-
以下程序的输出是什么?
main( )
{
printf ( "\n%d%d", sizeof ( '3' ), sizeof ( "3" ), sizeof ( 3 ) ) ;
}
我正在使用 32 位 gcc 编译器。它正在将输出打印为-
4, 2, 4
我很困惑为什么它为sizeof ( '3' ) 打印4。 3 是单引号,所以它是一个字符,对吗?那么它不应该打印出4吗?我说的对吗?
【问题讨论】:
-
-1。在那个
printf字符串中只有两个%d并且没有逗号,所以这不是输出。请不要解释结果。 -
您在
printf中缺少一个%d,它应该是printf("%d%d%d",...) -
@Potatoswatter,我认为“单引号”的意思是“撇号”或“单引号”。有些东西告诉我英语不是他/她的第一语言。
-
@CarlNorum 不,我的意思是在格式字符串中。仔细看程序,看看输出。
-
哦,明白了。是的,字符文字上的“智能引号”是另一个赠品。