华为 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;}else{nDays=28;}break;default:nDays=30;break;}if(*nDate>nDays){*nDate=1;(*nMonth)++;if(*nMonth>12){*nMonth=1;(*nYear)++;}}}}}}void main(){int nYear=2024,nMonth=12,nDate=31,nHour=59,nMinute=59,nSecond=59;NextMinute(nYear,nMonth,nDate,nHour,nMinute,nSecond);printf(The result:%d%d%d %d:%d:%d,nYear,nMonth,nDate,nHour,nMinute,nSecond);}