精品文档---下载后可任意编辑(1)什么是预编译,何时需要预编译: 答案: 1、总是使用不常常改动的大型代码体
2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项
在这种情况下,可以将所有包含文件预编译为一个预编译头
(2)char * const p char const * p const char *p 上述三个有什么区别 答案: char * const p; 7、请问以下代码有什么问题: int main() { char a; char *str=&a; strcpy(str,"hello"); printf(str);return 0; } 答案:没有为 str 分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址
虽然可以正确输出结果,但因为越界进行内在精品文档---下载后可任意编辑读写而导致程序崩溃
8、char* s="AAA"; printf("%s",s); s[0]='B'; printf("%s",s); 有什么错答案:"AAA"是字符串常量
s 是指针,指向这个字符串常量,所以声明 s的时候就有问题
cosnt char* s="AAA"; 然后又因为是常量,所以对是 s[0]的赋值操作是不合法的
9、写一个“标准”宏,这个宏输入两个参数并返回较小的一个
#define Min(X, Y) ((X)>(Y)(Y):(X)) b = a^b; a = a^b; or a ^= b ^= a; 和 c++中的 struct 有什么不同答案:c 和 c++中 struct 的主要区别是 c 中的 struct 不可以含有成员函数,而 c++中的 struct 可以
c++中 struct 和 class 的主要区别在于默认的存取权限不同,struct 默认为 publ