为了账号安全,请及时绑定邮箱和手机立即绑定

不知道哪里逻辑错误

不知道哪里逻辑错误

C
qq_nanranlanW_0 2017-05-14 16:24:28
输入字符串,实现单词的分离并计数用函数不知道为什么编译出来什么word【i】根本没有没有语法错误。strC是计数,记录每个word【i】出现地次数str是保存字符串word【】【】是一个单词一个word【i】求帮忙看一下,自己debug了一整天都不行,初学C语言,拜托指点一下。#include <stdio.h>#include <string.h>#include<conio.h>#include<ctype.h>#define M 1000#define N 20void beep();void GetPassage(char str[]);void WordSepa(char str[],int strC[],char word[][20]);void main(){ char str[M]; int strC[N]; char word[M/N][N]; GetPassage(str); printf("%s\n",str); WordSepa(str,strC,word);}void beep(){ printf("\07");}void GetPassage(char str[]){ char ch; int i=0; while(1){ ch=getch(); if(ch=='\r')  break;     if(ch=='\b'){  if(i>0){  printf("%c %c",ch,ch);   i--;  }  else   beep();  continue; } if(ch!=32&&ch!=44&&ch!=46&&isalpha(ch)==0){  beep();  continue;} if(i<N){ printf("%c",ch);  str[i++]=ch; } else   beep();  } str[i]='\0';}void WordSepa(char str[],int strC[],char word[][20]){int i=0,j=0,k=0,t=0,x=0;while(j<t) {for(;str[j]==32;j++);while(k<N&&str[j]!=32) word[i][k++]=str[j++];word[i][k]='\0';strC[i]=1;for(x=0;x<i;x++) if(stricmp(word[i],word[x])==0){strC[x]++;i--; break; }i++; k=0;}t=0; for(;t<i;t++)printf("%s(%d)\n",word[t],strC[t]);}
查看完整描述

1 回答

?
Stardust1001

TA贡献261条经验 获得超78个赞

一天?也牛逼了。我不清楚了,一年多没写C了,难道字符串数组不是用指针的吗?
查看完整回答
反对 回复 2017-05-19
  • 1 回答
  • 0 关注
  • 1228 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信