最近好几个同学加我微信,让我帮忙拉他入群,然后我就随手问了个题目,如下
上面回答的答案都是不正确的
sizeof是 C语言的关键字,这个关键字是用来计算传入参数占用的内存字节数。
比如
#include <stdio.h>
int main()
{int a = 1;printf("%d\n", sizeof(a));return 0;
}
输出:
好,再回到之前的那个题目,sizeof计算的是指针占用内存的大小,并不是字符串内存的大小,所以正确输出在32位系统中输出是4,在64位系统中输出的是8。
#include <stdio.h>
int main()
{int *a = NULL;printf("%d\n", sizeof(a));return 0;
}
输出:
好,再修改下题目,大家留言说下答案看看
#include <stdio.h>
int main()
{char* a = "12345";char b[] = "123456";printf("%d %d\n", sizeof(a), sizeof(b));return 0;
}
入群问下C题目,只是为了过滤一些非技术人员,因为我的微信号没放在公众号,很多人也看不到,大家在微信群里可以多交流技术问题。
祝大家五一快乐!