7道C语言面试题,7分钟完成。你能做对几道?

序员 序员 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请在下列所有题目的横线上填写printf的值
//1
void e(int n) {
if(n>0) {
e(--n);
printf("%d",n);
e(--n); }
}
int main() {
int a;
a=3;
e(a);
}
// 2
int i=3;
int j;
j = sizeof(++i+ ++i);
printf("%d%d", i ,j);

//3
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf("%d%d",*(a+1),*(ptr-1));
//4
struct node { char a; char b; char c;char d;};
int main() {
struct node s= { 3, 1,0,8 };
struct node *pt = &s;
printf("%d" , *(unsigned short*)pt);}


//5
#define value(Structure,Field) \
((unsigned int)&(((Structure*)0)->Field))
typedef struct {
short a;
char b;
char* c;
long (*d)[3];
float e;
}init;
int main()
{
printf("%d",value(init,e));
}

//6
float a=27.02;
int i=8,j=32;
unsigned int b = *(unsigned int*)&a;
int c= b-0x8ED212CC;
printf("%d%d",j-2*i,i+=((c<0)?-1:2));


//7
int (*foo(int(*a)[3]))[3]{return ++a;}
int main(){
int a[3][3]={2,-1,3,4,8,1,20,7,6} ;
int ( *p )[3] = foo( a );
printf("%d",*1[p]);}






需要验证可以上机测试。
快速查看答案 可以戳这里
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
序员
C语言 70,039 成员 243,237 内容