| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1057 人关注过本帖
标题:碰到一个c语言的问题
只看楼主 加入收藏
面朝大海
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-7-24
收藏
 问题点数:0 回复次数:13 
碰到一个c语言的问题
#include <stdio.h>
main()
{
char string[81];
int i,num=0,word=0;
char c;
gets (string);
for (i=0,(c=string[i])!='\0';i++)
if (c=='') word=0;
else if(word==0)
{
word=1;
num++;
}
printf("There are %d words in the line.\n",num);
}
在viual c 中会查到一个错误 但我查了半天都没查出
还有哪位大哥帮我讲解以下数组吗 我好像对数组不是很了解。
再次谢谢各位!
搜索更多相关主题的帖子: c语言 word num string else 
2007-08-19 20:01
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
for里面有问题

偶学编程,也许本身就是一个错。。。
2007-08-19 20:03
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
for (i=0,(c=string[i])!='\0';i++)
错误
应该有两个";"


改为for (i=0;(c=string[i])!='\0';i++)

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-08-19 20:10
面朝大海
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-7-24
收藏
得分:0 
对啊 谢谢 不过谁能帮我讲解一下数组呢
2007-08-19 20:13
面朝大海
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-7-24
收藏
得分:0 
还是有错误
Compiling...
例8.cpp
H:\办公软件\VC6.0\MSDev98\MyProjects\project1\例8.cpp(8) : error C2018: unknown character '0xa3'
H:\办公软件\VC6.0\MSDev98\MyProjects\project1\例8.cpp(8) : error C2018: unknown character '0xbb'
H:\办公软件\VC6.0\MSDev98\MyProjects\project1\例8.cpp(8) : error C2143: syntax error : missing ';' before ')'
H:\办公软件\VC6.0\MSDev98\MyProjects\project1\例8.cpp(9) : error C2137: empty character constant
H:\办公软件\VC6.0\MSDev98\MyProjects\project1\例8.cpp(16) : warning C4508: 'main' : function should return a value; 'void' return type assumed
执行 cl.exe 时出错.
2007-08-19 20:15
tree541
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-19
收藏
得分:0 
程序该为#include <stdio.h>
void main()
{
char string[81];
int i,num=0,word=0;
char c;
gets (string);
for (i=0;(c=string[i])!='\0';i++)
if (c==' ') word=0;
else
{
word=1;
num++;
}
printf("There are %d words in the line.\n",num);
}就OK了
2007-08-19 20:46
nwpu063417
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:428
专家分:28
注 册:2007-5-11
收藏
得分:0 
for (i=0,(c=string[i])!='\0';i++)
if (c=='') word=0;
还有这个if语句中c == ' ' 中间有空格。

2007-08-19 21:05
面朝大海
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-7-24
收藏
得分:0 

谢谢 管用
但是在运行中出现了一个问题
我输入了“I am a boy" 他说有7个word 这明显是4个词怎么会是7个呢
不过我在想想 知道的也能告诉我 谢谢

2007-08-19 22:16
mayi2007
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-8-19
收藏
得分:0 


#include <stdio.h>
main()
{
char string[81];
int i,num=1,word=0;
char c;
gets (string);
for (i=0;(c=string[i])!='\0';i++)
{
if (c==' ')
{
word=1;
num+=word;
}
else
word=0;
}
printf("There are %d words in the line.\n",num);

}

你试试..应该可以了..但这个代码有好多bug...有待改进...

2007-08-20 01:36
myfuture
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2007-8-17
收藏
得分:0 
if (c==' ') word=0;
else if(word==0)
{
word=1;
num++;

你这样写意思是当遇到空格时不加的,当然是算有几个字母拉.而不是几个单词拉.


never give up.....And hope in future...
2007-08-20 11:09
快速回复:碰到一个c语言的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016784 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved