解题思路:
第一处:要求返回处理好的字符,所以应填:char。
第二处:判断该字符是否是数字,所以应填:ch<=’9’。
第三处:只要减去’0’的ASCII值,即可得到要求的结果,所以应填:’0’。
***************************************************
给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b 中,要求每复制三个字符之后插入一个空格。
例如,在调用fun函数之前给a输入字符串:ABCDEFGHIJK, 调用函数之后,字符数组b中的内容则为:ABC DEF GHI JK。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:
#include
void fun(char *p, char *b)
{ int i, k=0;
while(*p)
{ i=1;
while( i<=3 && *p ) {
b[k]=p;
k++; p++; i++;
}
if(*p)
{
b[k++]=" ";
}
}
b[k]=’\0’;
}
main()
{ char a[80],b[80];
printf("Enter a string: "); gets(a);
printf("The original string: "); puts(a);
fun(a,b);
printf("\nThe string after insert space: "); puts(b); printf("\n\n");
}