这两段代码是相同的吗?
char ch = 'a';
printf("%d", ch);
它会打印出一个垃圾值吗?
我对此很困惑。
printf("%d", '\0');
这段代码会打印出0还是垃圾值?因为当我执行这段代码时
printf("%d", sizeof('\n'));
它打印出4。为什么sizeof('\n')
是4个字节呢?在C++中相同的东西打印1个字节。那是因为什么呢?
所以这里是主要问题
在C语言中,printf("%d", '\0')
是否应该打印0?
而在C++中,printf("%d", '\0')
是否应该打印垃圾值?
printf("%d", ch);
“打印出一些垃圾值”,我猜这是因为他想要打印出A
,而不是它的ASCII值... - peoro%d
打印字符的结果感到好奇,而%c
则完全无关。 - orlp