标题:<c primer plus>第 11 章第 3 练习,自己做的没参考答案,显示垃圾值!求指 ...
只看楼主
pokerLee
Rank: 2
等 级:论坛游民
帖 子:41
专家分:29
注 册:2012-11-4
结帖率:93.33%
已结贴  问题点数:20 回复次数:2 
<c primer plus>第 11 章第 3 练习,自己做的没参考答案,显示垃圾值!求指点!!
<c primer plus>第11章第3练习,自己做的没参考答案,显示垃圾值!要求读取输入行里第一个单词到数组,并丢掉其他的字符。感觉指针的用法没有错,但是结果不如意,求指点!程序如下:
程序代码:
#include<stdio.h>
#include<ctype.h>
#include<stdbool.h>
void getword(char *str);
int main(void)
{
    char input[81];
    puts("Enter your str:\n");
    getword(input);
    puts("The First str is:\n");
    puts(input);
    return 0;
}
void getword(char *str)
{
    char c;
    int i=1;
    bool inword=false;
    while((c=getchar())!='\n')
    {
        if(!isspace(c)&&!inword)
        {
            *str=c;
            inword=false;
        }
        else if(!isspace(c)&&inword)
        {
            *(str+i++)=c;
        }
        else
            break;
    }
}
程序结果如下:

搜索更多相关主题的帖子: 参考答案 如意 单词 
2014-10-20 21:31
修炼内功
Rank: 2
等 级:论坛游民
帖 子:6
专家分:49
注 册:2014-10-17
得分:20 
很明显你的inword有问题啊,if代码块中inword=false;你是想写成inword=ture吧,而且最后一个else代码块中还少一句,没有添加字符串最后的“\0”,你的代码还有点繁琐的感觉,用inword多余了吧。
2014-10-21 12:38
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
得分:0 
再补点问题:

1. 串的界81有啥用?
2. 单词的定义,如“123who”或者“who123”是单词么?

梦想拥有一台龙芯3A-4000
2014-10-21 15:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-437486-1-1.html




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

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