C语言 一个测句子有几个单词的代码(句子无标点 用井号键结束) 下面的代码 无论输入哪个句子 都不

C语言一个测句子有几个单词的代码(句子无标点用井号键结束)下面的代码无论输入哪个句子都不会输出结果为什么... C语言 一个测句子有几个单词的代码(句子无标点 用井号键结束)
下面的代码 无论输入哪个句子 都不会输出结果 为什么
展开
 我来答
匿名用户
2015-10-13
展开全部

scanf的返回值不是你输入的数,返回接收到的变量值的个数。

补充一个完成的程序

#include<stdio.h>
int main()
{
    char ch;
    int  i=0, f=0;
    
    while(scanf("%c", &ch))
    {
       if ( ch=='#')    
           break;

       if ( ch == ' ' )
       {
              f = 0;
           i++;
       }
       else
           f = 1;
    }
    
    if ( f ) i++;   // 最后一个单词
    printf("total is %d", i);
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lcy8760450
2015-10-13 · TA获得超过956个赞
知道小有建树答主
回答量:610
采纳率:64%
帮助的人:395万
展开全部
不是scanf != '#',而是ch !='#',scanf返回的是读取数值的个数,而不是读取内容
while的条件改为scanf("%c", &ch) && ch !='#'
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式