1.用户定义的函数不可以调用的函数是( )
解析:
main函数可以调用其他函数,但是不能被其他函数所调用。
返回值可以由用户确定
本文件外利用extern关键字描述
本函数下面定义,但是可以在之前申明
2.以下程序的输出结果是?
#include <stdio.h>
main() {
char a[10] = {'1', '2', '3', '4', '5', '6', '7', '8', '9', 0}, *p;
int i;
i = 8;
p = a + i;
printf("%s\n", p - 3);
}
解析:
1、p指向a[5]
2、“%s”输出直到'\0'的字符串
3、最后的0为数字而非字符‘0’,ASIIC码中0为空字符,即到'\0'就会停止
所以输出的结果是 6789 而不是67890
3.定义宏,则替换结果为()
解释:
##是一种分隔连接方式,它的作用是先分隔,然后进行强制连接
“name”和第一个“_”之间被分隔了,所以预处理器会把name##_##type##_type解释成4段:“name”、“_”、“type”以及“_type”,name和type会被替换,而_type不会被替换