(1)二級C是區(qū)分大小寫的,在仔細(xì)閱讀程序后,發(fā)現(xiàn)Null是一個錯誤的標(biāo)識符。給a指針賦空值,空值的宏定義符號是NULL,因此應(yīng)該改為:a = NULL;(2)按照語義是判斷r和p指針是否相等,顯然是錯誤的。因為本題是判斷子串t是否在串s中出現(xiàn),應(yīng)該判定r和p所指內(nèi)存中字符是否相同,因此應(yīng)該改為if(*r==*p)。
三、編程題
請編寫函數(shù)fun,其功能是:比較兩個字符串的長度,函數(shù)返回較長的字符串。若兩個字符串長度相等,則返回第1個字符串(不得使用C語言提供的求字符串長度的函數(shù))。
例如,輸入beijingshijiazhuang(為回車鍵),函數(shù)將返回shijiazhuang。
注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
#include
char *fun(char *s,char *t)
{ }
main()
{
char a[20],b[10],*p,*q;
int i;
printf("Input 1th string: ");
gets(a);
printf("Input 2th string: ");
gets(b);
printf("%s",fun(a,b));
}
【答案及解析】
相關(guān)推薦:
計算機(jī)二級C技巧:VC6.0控制鼠標(biāo)反方向移動 計算機(jī)等級考試二級C語言考試輔導(dǎo)教程匯總