救命啊~~谁帮我看下这个C程序错在哪里啊?紧急~~

[复制链接]
查看11 | 回复3 | 2011-1-13 05:31:42 | 显示全部楼层 |阅读模式
题目是要统计在文本中某个单词的个数
#include "stdio.h"
#include "string.h"
void main()
{void shu();
shu();
}
void shu()
{
int n,k,i,j,num=0;
char c[100];

char string[1000];
printf("please enter apassage:\n");
scanf("%s",&string);
printf("please enter a word:\n");
scanf("%s",&c);
n=strlen(c);
k=strlen(string);
j=0;
for(i=0;i<k;i++)
{
if(string==c[j]&&c[j]!='\0')
{j++;}
else j=0;

if(j==n)

{j=0;num++;}
}
printf("此单词出现了%d次\n",num); getchar();
getchar();
}
然后我运行以后,变成这样子:
please enter a passage:
asas
please enter a word:
此单词个数为:01
如果第二行打了空格的话,第三行第四行就自己出来了。不允许我打那个单词了。而且结果也是莫名奇妙。怎么会这样子的?有问题哪个地方有问题?

回复

使用道具 举报

千问 | 2011-1-13 05:31:42 | 显示全部楼层
首先回答你的第一个问题:是把这次猜的数放到a数组里了啊~因为用来比较的正确数字在b数组里啊~++++++++++++++++++++++++++++++++++++++++++++++++++第2个问题:因为你才对了没有控制跳出循环所以就继续猜咯 直到u=8为止,然后输出“大婶~~~”所以你要在c==4的时候设置一个方式让循环结束~------------------------------------------------还有哦~~每次用户输入新数字后你没有将c,d变量重置~~只会无限累加========修改后的代码========================#include "stdio.h
回复

使用道具 举报

千问 | 2011-1-13 05:31:42 | 显示全部楼层
char c[100]; char string[1000];这两行定义的是数组么?!
回复

使用道具 举报

千问 | 2011-1-13 05:31:42 | 显示全部楼层
mark
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行