C语言中 sizeof 问题

#include <stdio.h>

int main()                
{  
    printf("%d" , sizeof('a'));  
    return 0;  
}
#include <iostream>
using namespace std;     

int main(){  
  cout << sizeof('a');  
  return 0;  
}

从论坛里粘过来的,求高手详细讲解打印不同的原因

阅读 4.1k
1 个回答

在C语言中, char literal(字面量) 会被作为int处理。
C++不同,C++的类型比C语言稍强,这个'a'这个字面量是作为char处理的。

补充一点资料:
http://david.tribble.com/text/cdiffs....

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进