一些易忽视的c知识点,顺便测测你的c水平

下面的十个c语言问题,极具代表性,特摘录出来供大家分享:
1. c语言具有多少个关键字?试试你能说出来多少个?
2. printf(“What???!!!”); 输出是什么?
3. sizeof()是函数吗?那下面四个写法中,哪几个是正确的写法,哪几个错误的写法?
int i=0;
A)sizeof(int)    B)sizeof(i)   C)sizeof int  D)sizeof i
4. 你.对sizeof真正了解多少? 
int *p=NULL; 
sizeof(p)的值是多少?sizeof(*p)呢?
很简单吧,那么下面的结果又是多少呢?
int a[100];
sizeof(a)的值是多少?
sizeof(a[100])呢?//注意是100哟!
sizeof(&a)呢?
sizeof(&a[0])呢?
int b[100];
void fun(int b[100])
{
 sizeof(b);//sizeof(b)的值是多少?
 sizeof(&b);呢????
}
typedef struct s{
char a[10];
int b;
}ss;
sizeof(ss) 的值是多少?
5. sizeof(“”)和strlen(“”)相等吗?为什么?
6. 正数在计算机内部是怎么存取的?负数呢?那考虑下下面程序结果是多少?
int main()
{
 char a[1024];
 int i;
 for(i=0;i<1000;i++)
 {
  a[i]=-1-i;
}
printf(“%d”,strlen(a));
return 0;
}
7. return关键字主要用来终止一个函数并返回其后面跟着的值。那么return什么都能返回吗?
char * fun()
{
 char str[30]=”Hello World!”;
 return str;
}
上面的程序有毛病吗?请说明原因。
void fun()
{
return;
}
上面的程序有毛病吗?如果没有毛病,那么return返回的是什么?
8. const int MAXNUM=100;
此时的MAXNUM是常量吗?MAXNUM的值一定不能改变吗?如能,请举出反例,并说明原因。
9. 空结构体有多大?并解释原因。
struct student_exa1
{
}stu1;
sizeof(stu1)的值是多少?
struct student_exa2
{
int i;
int a[];
}stu2;
sizeof(stu2)的值是多少?
stu2 *p=(stu2 *)malloc(sizeof(stu2)+100*sizeof(int));
此时sizeof(stu2)的值又是多少?
结果一定很诡异吧……
10. 什么是大端模式?什么是小端模式?
union{
 int i;
 char a[2];
}*p,u;
p=&u;
p->a[0]=0x39;
p->a[1]=0x38;
那么p->i的值是多少?(假如计算机的存储模式为小端模式)

 
最后一句话与大家共勉:
别只顾着你键盘上的W、A、S、D四个键了,多按按F10和F11吧……
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵卓不凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值