c语言指针程序找错题,C语言指针错题

有日子没有学习C语言了, 前些天在看windows程序设计时, 按照win的体系结构,在VC 6里面找到

下面一段代码,发现自己的C语言功底实在是差之又差。代码为我看到的C代码,至目前为止,还只能理解个大概;

估计要慢慢体会了。

81178cc93a2a3bb5048d90d76e7ec935.png

69c5a8ac3fa60e0848d784a6dd461da6.png

DECLARE_HANDLE(HDC);#defineDECLARE_HANDLE(name)structname##__

{intunused;

};

typedefstructname##__*name

69c5a8ac3fa60e0848d784a6dd461da6.png

上面的代码等我理解后再和大家分享吧, 下面说说这一次的C语言面试题。

8、找错题

找出下面几个函数的错误:

试题1:

void test1()

{

char string[10];

char* str1 = "0123456789";

strcpy( string, str1 );

}

/*

这个题目咋一看,没有任何错误, 给strcpy()函数传递的两个实参参数类型均能满足要求。

但是细心一看我们会发现这个函数存在越界问题,"0123456789"这个字符串

的长度为 strlen("0123456789") + 1 = 11 , 而很

你可能感兴趣的:(c语言指针程序找错题)