char a = 'a';
printf("%lu %lu %lu \n",sizeof(a),sizeof('a'),sizeof(char));
输出是1 4 1 ,为什么中间是4
c语言sizeof是怎么算的?
答案:5 悬赏:20 手机版
解决时间 2021-01-04 12:38
- 提问者网友:遮云壑
- 2021-01-03 14:26
最佳答案
- 五星知识达人网友:行雁书
- 2021-01-03 14:33
它会被编译器自动改成int型.
全部回答
- 1楼网友:何以畏孤独
- 2021-01-03 17:38
你是64位的系统??
- 2楼网友:躲不过心动
- 2021-01-03 17:32
占一个字节就输出1咯
- 3楼网友:第四晚心情
- 2021-01-03 16:08
sizeof(values)你的原意估计是计算数列长度吧,
不过这样不行的,无法计算指针指向的序列大小。
你最好设一个形参,用来标记数列长度。
- 4楼网友:西岸风
- 2021-01-03 15:24
sizeof("a")应该就是1个字节
sizeof('a')会被当做sizeof(97)处理,97是‘a’的ascii码
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯