字符问题
#include<stdio.h>int main()
{
int a;
a = 484;
printf("int有%d个字符\n",sizeof(a));
return 0;
}
为什么编译运行后显示是4个字符呀(我写的是484,3个字符呀)(还是有一个结束字符\0呀?) 并不是,sizeof() 代表 a 在内存中占的字节数,你完全想错了 zltzlt 发表于 2020-3-12 13:01
并不是,sizeof() 代表 a 在内存中占的字节数,你完全想错了
但我把484改成了48,编译运行后还是4个字符,如果要显示我所打的字符数量的话,请问,该怎么做呢?谢谢回复 kies 发表于 2020-3-12 13:05
但我把484改成了48,编译运行后还是4个字符,如果要显示我所打的字符数量的话,请问,该怎么做呢?谢谢回 ...
纠正一下,sizeof() 不是返回字符数! #include <stdio.h>
#include <string.h>
int main()
{
char a[] = "484";
printf("a 有 %d 个字符\n", strlen(a));
return 0;
} zltzlt 发表于 2020-3-12 13:01
并不是,sizeof() 代表 a 在内存中占的字节数,你完全想错了
哦, 我理解错了,谢谢 kies 发表于 2020-3-12 13:19
哦, 我理解错了,谢谢
如果你的问题已解决,请设置【最佳答案】 zltzlt 发表于 2020-3-12 13:08
sizeof()好像是数据类型所占的字节数,你的a命名为int型了,而int型数据是占4个字节的(根据所用的编译器有所不同),所以不管你输入什么,计算显示出来的都是4,
请问一下,最佳答案有什么奖励吗?
页:
[1]