| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2360 人关注过本帖
标题:求教:程序无错误,但无输出结果
只看楼主 加入收藏
寂寞得小戏
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2013-10-31
结帖率:57.14%
收藏
已结贴  问题点数:15 回复次数:8 
求教:程序无错误,但无输出结果
#include <stdio.h>
#include<ctype.h>
void dc(char *  ); /*将第一个单词存入数组*/
int main(void)
{
    char str[40];
   
    printf("Please input the string:");
   
    dc(str);
    printf("%s\n",str);
    return 0;
}
 
void dc(char *str1)
{
    char ch;
   
    int i=0;
    ch=getchar();
    while((ch=getchar()!='\0')&&
    (ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
    {    *str1++=ch;
    i++;
    }
    *(str1+i)='\0';
}
搜索更多相关主题的帖子: include return 单词 
2013-11-18 13:38
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:3 
在while里(ch=getchar()!='\0')的意思是判断getchar()如果等于'\0'则ch的值为0,否则ch的值为1

埋头做牛,抬头做人,低头做狗
2013-11-18 14:01
寂寞得小戏
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2013-10-31
收藏
得分:0 
可是我换成其它的还是不行呀!
2013-11-18 14:26
jsyjzz
Rank: 2
等 级:论坛游民
帖 子:29
专家分:73
注 册:2013-11-8
收藏
得分:3 
你的程序最大的问题是,当你输入a的时候,要按回车,其实你这时候是输入两个字符,分别是'a' '\n' 那样while中的表达式娶到的是‘\n’当然就取不到任何数据啦,
改成这样就好了:
 while((ch != '\0') && (ch >= 'a' && ch<= 'z') || (ch >= 'A' && ch <='z'))
{
             *str=ch;
               i++;
                 str++;
                ch = getchar();
}
2013-11-18 14:40
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:3 
呃,我只想说说你这个标题——“程序无错误,但无输出结果

程序既然无错误怎么会无输出结果?

普及点基础概念,程序的错误包括两种(对了,这里的程序指的是还处于源代码状态的):一种叫语法错误,一种叫逻辑错误。

语法错误,我真不想说了。如果写个程序连语法错误都排除不了,那,我就不往难听里说了。

而我们说一个程序有没有错误主要是的是逻辑错误,既是你的程序存在的错误。

想消除你程序中的逻辑错误,首先要消除你自己的逻辑错误。以后尽量别再说这种自相矛盾的话。

重剑无锋,大巧不工
2013-11-18 21:16
流年!
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:107
注 册:2013-11-7
收藏
得分:3 
给你一个建议吧,刚学不要把语句写的太复杂,尽量用简单的,像这句while((ch=getchar()!='\0')&&
    (ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
2013-11-19 09:41
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:3 
以下是引用beyondyf在2013-11-18 21:16:16的发言:

呃,我只想说说你这个标题——“程序无错误,但无输出结果”

程序既然无错误怎么会无输出结果?

普及点基础概念,程序的错误包括两种(对了,这里的程序指的是还处于源代码状态的):一种叫语法错误,一种叫逻辑错误。

语法错误,我真不想说了。如果写个程序连语法错误都排除不了,那,我就不往难听里说了。

而我们说一个程序有没有错误主要是的是逻辑错误,既是你的程序存在的错误。

想消除你程序中的逻辑错误,首先要消除你自己的逻辑错误。以后尽量别再说这种自相矛盾的话。

+1
力顶

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-11-19 09:49
lock69
Rank: 2
等 级:论坛游民
帖 子:17
专家分:47
注 册:2009-9-23
收藏
得分:0 
我看楼主的程序看得很辛苦,建议尽量多用括号,要不然优先顺序都搞不清楚
2013-11-19 13:50
寂寞得小戏
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2013-10-31
收藏
得分:0 
谢谢,受教!
2013-11-19 18:27
快速回复:求教:程序无错误,但无输出结果
数据加载中...
 
   



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

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