{
文档名称 文档密级
unsigned short val = 0;
/* 用4 个字节拼成一个长字 */
val = (b<<24) | (b<<16) | (b<<8) | b; }
int main(int argc, char* argv[]) { }
int i = 0;
int len = MAX_LEN/4;
for(i=0;i return 0; *(unsigned long *)pv= val; return 0; val溢出 81、 指出下面程序的错误 VOID B(ULONG *p) { *p = 66 * 10000; return; } VOID A() { unsigned short a = 10*1000; B((ULONG *)(&a)); return; } 字符越界/溢出 82、 #define MAX_LEN 2 void ConvertCode(_UC *p_byte, _UC num) { _UL i = 0; for (i = 0 ; i < num; i++) { p_byte[i] = ((p_byte[i] & 0xF0) >> 4) | ((p_byte[i] & 0x0F) << 4); } } void main(void) 36 { 文档名称 文档密级 _UC * str = NULL_PTR; ConvertCode(str, MAX_LEN); } ConvertCode函数没有进行入参的有效性判断 83、 请指出下面函数的性能问题 #define MAX_PRAM_LENGTH 10000 typedef struct { unsigned char ucCommand; unsigned short usLength; unsigned char Para[MAX_PRAM_LENGTH]; } DEBUG_MSG; void PringDebugMsg (DEBUG_MSG DebugMessage) { int i; printf(\ for (i = 0 ; i < DebugMessage.usLength && i < MAX_PRAM_LENGTH; i++) { } printf(\ } 使用超大结构数组变量作为参数,有可能将栈顶爆,导致程序异常。 37 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言编程基础考试试题(8)在线全文阅读。
相关推荐: