标签:经典 C语言 编程 垃圾 绝对能够测试你的C语言功力的几个问题 答案
垃圾题目
绝对能够测试你的C语言功力的几个问题
http://www.bccn.net/Article/kfyy/cyy/jszl/200607/4181.html
解答:
垃圾题目,这种题也被作为经典?垃圾垃圾
1、strlen(str)错误操作,可能导致程序崩溃
sizeof(str)值为10
2、strcpy 错误操作,可能导致程序崩溃
3、编译不通
4、编译通过。运行:错误操作,可能导致程序崩溃
5、注意:不是p1指向的量的值不能变,而是,不能通过p1改变p1指向的量的值
char * const p2;编译不同,如果能编译通,说明你用的编译器不符合标准。
如果改为
char c;
......
char * const p2 = &c;
那么p2的值不能改变,即p2永远指向c。
6、能编译通。
这个地方没有类型转换照样编译通。(出题的哥们,应该自己试一试。)
7、不通
8、有
9、不通。pstr=(char *)3000;
10、可以。
你们可以去看看嵌入式中的代码、操作系统的底层代码,这样的代码多了去了。
11、编译不通。会报错。出题人,你用的哪门子编译器,连这个都能编译通?了不起。
改为int *p=(int*)str;编译通过。
但是,机器相关,结果和机器的大端、小端有关。
12、编译不通。
楼上回的不错:如果修改为 p=(int *)3000,那么p+1会加4
13、机器相关(不同的机器上不一样)。
14、编译没问题。
char p;
test(&p);
15、定义一个函数指针类型。这个函数指针类型定义的函数指针变量可以指向
返回值为int,有两个形参,且两个形参的类型都是int。
本人邮箱:zhanglibin_1222@163.com
有不同意见的请通知本人。
请出题人好好学学C语言。而且,不要用类似Turbo C等继恐龙灭绝之后面临灭绝的编译器。哪怕不支持C99标准,至少也支持C89标准吧。
唉!
总比全国C语言二级考试题好一点
1、int a = 1;
a = ++a + ++a + ++a + a++;
等于多少。
答:编译器相关(如果考试不要这么答)
2、int a = 1;
printf("%d %d %d", ++a, ++a, a++);
知道了吧,C语言二级题才是真正的垃圾。
你考C二级得了满分,鄙视你。
你学的C语言,是考试C语言!