black

登录

问答题

下列给定程序中,函数fun()的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。
例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
int fun(char*str, char*substr)
{ int i, j, k, num=0;
//****found****
for(i=0, str[i], i++)
for(j=i, k=0;
substr[k]==str[j];
k++, j++)
//****found****
If(substr[k+1]=="\0")
{ num++;
break;
}
return nnm;
}
void main()
{
char str[80], substr[80];
printf("Input a string:");
gets(str);
printf("Input a substring:");
gets (substr);
printf("%d\n", fun(str, substr));
}

【参考答案】

(1)错误:for(i=0, str[i], i++)
正确:for(i=0; str[i]; i++)......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)

相关考题

填空题 请补充fun()函数,fun()函数的功能是求n的阶乘。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。试题程序:#include<stdio.h>long fun(int n){if(______)return(n*fun(______));return ______;}void main(){printf("10!=%1d\n", fun(10)); }

All Rights Reserved 版权所有©PP题库网库(pptiku.com)

备案号:湘ICP备14005140号-5

经营许可证号:湘B2-20140064