改錯(cuò)題
給定程序MODI1.C中 fun 函數(shù)的功能是:將p所指字符串中每個(gè)單詞的最后一個(gè)字母改成大寫。(這里的“單詞”是指由空格隔開的字符串)。
例如, 若輸入
"I am a student to take the examination.",
則應(yīng)輸出 "I aM A studenT tO takE thE examination."。
請(qǐng)修改程序中的錯(cuò)誤之處, 使它能得出正確的結(jié)果。
注意: 不要改動(dòng) main 函數(shù), 不得刪行, 也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include
#include
void fun( char *p )
{
int k = 0;
for( ; *p; p++ )
if( k )
{
if( p == ' ' )
{
k = 0;
* (p-1) = toupper( *( p - 1 ) )
}
}
else
k = 1;
}
main()
{
char chrstr[64];
int d ;
printf( "\nPlease enter an English sentence within 63 letters: ");
gets(chrstr);
d=strlen(chrstr) ;
chrstr[d] = ' ' ;
chrstr[d+1] = 0 ;
printf("\n\nBefore changing:\n %s", chrstr);
fun(chrstr);
printf("\nAfter changing:\n %s", chrstr);
}
解題思路:
第一處:關(guān)鍵字int錯(cuò)寫成INT。
第二處:該行括號(hào)沒有配對(duì),所以只要加上一個(gè)右括號(hào)即可。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |