10.29 面试总结

1.请问运行main函数有什么样的结果?

#include <stdio.h>
#include <stdlib.h>

char* getmemmory(void)
{
char p[]=“hello world”;
return p;
}

int main(int argc, char *argv[]) {
char * str=NULL;
str=getmemmory();
printf("%s",str);
return 0;
}

9 2 C:\Users\asus\Desktop\test\main.c [Warning] function returns address of local variable [-Wreturn-local-addr]

2.下面是32位的c程序,请计算结果。

int a[100];
sizeof(a)=___;

char array[20]=“hello world”;
sizeof(array)=;
strlen(array)=
;
char p=(char)malloc(sizeof(char)*100);
sizeof§=__;

3.写出如下程序的运行结果

int main(int argc, char *argv[]) {
char *p1=“hello world”;
char p2;
p2=(char
)malloc(20);

memset(p2,0,20);
printf("%s\n",p2);
while(*p2++ = *p1++);
printf("%s\n",p2);
return 0;

}

4.计算结果

int main(int argc, char *argv[]) {

int a,b,c,d;
a=10;
b=a++;//a=11,b=10;
c=++a;//c=12,a=12;
d=10*a+++b;//d=10*12+10=130;a=13,b=10;
printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);
return 0;

}

结果:a=13,b=10,c=12,d=130;

5.const关键字的作用,如何理解

int main(int argc, char *argv[]) {
const int a=3;
printf("%d",a);
a=4;
printf("%d",a);
return 0;
}
以上代码编译时报错

int main(int argc, char *argv[]) {
const int a=3;
int *p =(int *)&a;
printf("%d\n",a);
*p=4;
printf("%d\n",a);
return 0;
}
结果:
3
4

const是只读的变量,编译时检查,只是告诉编译器是只读变量,该变量在内存中还是占用空间的,通过读写内存的方式还是可以修改它的值的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值