C语言基础试题.docVIP

  • 44
  • 0
  • 约7.8万字
  • 约 21页
  • 2016-12-23 发布于贵州
  • 举报
C语言基础试题 指出其中的错误: void Getresult(unsigned int uiM,unsigned int uiN) { unsigned short usIndex; If(0==uiN) { return; } for(usIndex=uiN;uiIndex=uiM;usIndex=usIndex+uiN) { printf(“%u”,usIndex); } return; } 指出其中的错误: int a[10]; int main() { int *p; int i; p=a; for(i=0;i=10;i++) { scanf(“%d”,p++); } printf(“\n”); p=a; for(i=0;i=10;i++,p++) { printf(“\n”); } return 0; } 如下程序用于输出”Welcome Home”请指出其中错误 void Test(void) { char pcarray[12]; strcpy(pcArray,”Welcome Home”); printf(“%s!”,pcArray); return; } 求一个整数的平方除以1000的余数,指出程序中的错误 unsigned shot GetMode(unsigned short usM) { unsigned short usMode; unsigned short usTemp; usTemp=usM%1000; usTemp=usTemp*usTemp; usMode=usTemp%1000; return usMode; } 下面递归函数将调整n个整数的数据Array,使其前面各顺序向后移m个位置(nm),最后m个数变成最前面的m个数。例如,1,2,3,4,5,6,7,8顺序移动3个位置变成(6,7,8,1,2,3,4,5)请指出其实现的3个错误。假设不考虑堆栈的溢出问题,也不考虑递归引起的效率问题。 void move(ulong *array,ulong n,ulong m) { ulong *p; ulong array_end; ASERT(array); ASERT(nm); for(p=array+n;parray;p--) { *p=*(p-1); } *array=ayyay_end; m--; if(m0) { move(array,n,m); } return; } 指出下面这段代码中的错误: unsigned long FUNC_B(unsigned long ulCount) { unsigned long ulSum=0; while(0=ulCount) { ulSum+=ulCount; ulCount--; } return ulSum; } 下面函数功能是将字符串中的非”\0”字符前后位置对调,例如”abc”调换为”cba”,空串依然是空串,指出程序中的错误。 void Reverse(char *szStr) { ULONG ulLen,ulCnt,i; CHAR ch; if(NULL==szStr) { return; } ulLen=strlen(szStr); if(1=ulLen) { return; } ulCnt=ulLen/2; for(i=ulCnt-1;i=0;i--) { ch=szSre[i]; szStr[i]=szStr[ulLen-1-i]; szStr[ulLen-l-i]=ch; } } 程序的输出为: void test() { signed char ch; int sum; ch=127; sum=200; ch++; sum+=ch; printf(“%d”,sum); } 对于一个数组int data[5][4],data[4][2]的地址可以表示为() dat+4*4+2; data[4]+2; data[4]+8; data+2*4+4; UCHAR *pszTest=\\\0; UCHAR acutest[]=\\\0; 请问 sizeof(pszTest)= , sizeof(*pszTest)= , sizeof(aucTest); char st

文档评论(0)

1亿VIP精品文档

相关文档