华为 C 笔试题目华为 C 笔试题目华为 C 笔试题目1、 找错void test1(){char string[10];char* str1=0123456789;strcpy(string, str1);}表面上并且编译都不会错误
但假如 string 数组原意表示的是字符串的话,那这个赋值就没有达到意图
最好定义为 char string[11],这样最后一个元素可以存储字符串结尾符;void test2(){char string[10], str1[10];for(int I=0; I=MAX_SRM)return (NULL_SRM);elsereturn SRM_no;}SRM_no 没有赋初值由于 static 的
声明,使该函数成为不可重入(即不可预测结果)函数,因为 SRM_no 变量放在程序的全局存储区中,每次调用的时候还可以保持原来的赋值
这里应该去掉 static 声明
3、写出程序运行结果int sum(int a){auto int c=0;static int b=3;c+=1;b+=2;return(a+b+c);}void main(){int I;int a=2;for(I=0;I=60) // 秒满 60,做出特别处理,下面时,日,月等类同{*nSecond=0;(*nMinute)++;if(*nMinute>=60){*nMinute=0;(*nHour)++;if(*nHour>=24){*nHour=0;(*nDate)++;switch(*nMonth){case 1:case 3:case 5:case 7:case 8:case 10:case 12:nDays=31;break;case 2:// 推断闰年if(*nYear%400==0||*nYear%100
=0*nYear%4==0){nDays=29;}els