| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:【小白问题】有段代码 很纠结 求帮助 求解释
只看楼主 加入收藏
tt7721
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:60
专家分:107
注 册:2011-8-7
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
【小白问题】有段代码 很纠结 求帮助 求解释
题目 :输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
下面是代码。
程序代码:
#include <stdio.h>
int 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);
}
我主要是想问一下 那个for 循环这里  怎么解释
循环语句中 if(c==' ') word=0;和 else if (word==0) 这两句代码我搞不明白什么意思  怎么执行的
搜索更多相关主题的帖子: 单词 统计 
2012-01-29 20:02
tt7721
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:60
专家分:107
注 册:2011-8-7
收藏
得分:0 
各位大侠 。。帮帮我啊   我困惑的很
2012-01-29 20:25
旭日孤帆
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:180
注 册:2012-1-3
收藏
得分:0 
for (i=0;(c=string[i])!='\0';i++)


[ 本帖最后由 旭日孤帆 于 2012-1-29 20:48 编辑 ]
2012-01-29 20:42
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:5 
word为1表示现在是字母,而且刚刚也是,表示是同一个单词的字母,免得重复统计。如果遇到空格,就赋值为0,标记着这个单词结束了,现在是空格,当遇到下一个单词的第一个字母的时候,又变成1并且数量加1

酱油实习生
2012-01-29 20:59
旭日孤帆
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:180
注 册:2012-1-3
收藏
得分:5 
for (i=0;(c=string[i])!='\0';i++)
        if (c==' ') word=0;                    // i自加,并把string[i]的值赋给c,如果c等于空格的话,就让word为0  然后返回for语句
        else if (word==0)                     //当c不等于空格的时候,执行这一句,在这里如果word等于零的话,就说明c遇到了非空格字符,然后word赋值为1,
                                                                         为下一次遇到空格做准备,num自加1,记录一个单词
        {
            word=1;
            num++;
        }                                                如果你输入的字符串第一个元素不是空格,因为定义word时赋的初值是0,所以第一次
                                                                                            循环会执行 else if语句
        
   printf("There are %d words in the line.\n",num);
}
2012-01-29 21:00
_TNE_ONE_
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-1-29
收藏
得分:0 
for (i=0;(c=string[i])!='\0';i++)
字符串是以‘\0’结尾的,然后就不用我再说了吧
其他看楼上吧
2012-01-29 21:02
快速回复:【小白问题】有段代码 很纠结 求帮助 求解释
数据加载中...
 
   



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

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