| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2726 人关注过本帖
标题:这个程序问题在那里,如果有好的解答,奖励 100 +
取消只看楼主 加入收藏
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:11 
这个程序问题在那里,如果有好的解答,奖励 100 +
程序代码:
#include<stdio.h>
#include<conio.h>

int main()
{
    char c;

    while
        (
           (c=getch())
                      *
                      ((c - ' ')&&putchar(c)+1)
                      *
                      (c - 13)
                      );

    return 1;
}
在VS2010编译为什么出错
大家先运行程序,再说说为什么,顺便将你们编译器报上来,解答详尽100+
程序代码:
#include<stdio.h>
#include<conio.h>

int main()
{
    char c;

    while
        (
           (c=getch())
                      *
                      (((c - ' ')&&putchar(c))|1)
                      *
                      (c - 13)
                      );
    return 1;
}
用DEV C++可以实现大体功能
输入一字符串并打印在屏幕上,但遇到空格不显示出来,最后以回车键结束。


[ 本帖最后由 点线面 于 2011-2-18 16:25 编辑 ]
搜索更多相关主题的帖子: 奖励 
2011-02-18 15:23
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
回复 2楼 wujieru
有什么看法可以说出来

小代码,大智慧
2011-02-18 15:34
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
以下是引用犬虫门心在2011-2-18 16:36:08的发言:

楼主,你打算写出一个“极其简练”的C语言程序,希望在循环判断中实现如下判断:
1、是否成功输入;
2、如果是空格,则不能输出;
3、如果是回车,则结束循环;
4、还要有输出功能。
现在的状况是“不能正确输出第一个字符”,而且无语法错误,且原因不详。
我尝试过将空格判断和输出移到循环体中,则一切正常。
于是,我得到的结论是:不要再坚持这种不可取的写法,这会造成编译时的不可知错误。
作为纯粹的练习,这样写无可厚非,但站在“各种程序设计语言应最终为客户而非程序员服务”的宗旨下,还是不要这样做为好。
请问用什么编译器,顺便将显示结果帖图行吗?我写这个只是给自己玩,当然这种东西不能应用在商业上,只是想知道一下为什么,没有坏的。

小代码,大智慧
2011-02-18 16:42
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
回复 11楼 ansic
VS2010编译有问题,但是DEV C++没有问题,总体上应该是&&这里问题,如果你们细心调试,不过还是不知道原因是什么。
p.s如要是想像那么容易解决不会是100 +

小代码,大智慧
2011-02-18 17:00
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <conio.h>

int main (void) {

        char c='a';

        while
                ( (c-' ')&&putchar(c)
                 );

        return 1;

}

不过像这样编译是没有问题

小代码,大智慧
2011-02-18 17:07
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
以下是引用犬虫门心在2011-2-18 17:04:45的发言:

点线面是在UNIX下编译的啊。
你的UNIX下的C没有conio.h文件啊?
我是在windows下编译的,我是用VS2010编译和DEV C++编译,它们给出不同的答案。

小代码,大智慧
2011-02-18 17:08
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
回复 19楼 yangfanconan
用什么编译器

小代码,大智慧
2011-02-18 18:10
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>


int main()
{
    char c=getch();

    while
        (
           (c=getch())
                      *
                      (((c - ' ')&&putchar(c))|1)
                      *
                      (c - 13)
                      );
   
    return 1;
}
如果程序这样没有什么问题

小代码,大智慧
2011-02-18 18:16
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
这个应该涉及优先级问题

小代码,大智慧
2011-02-18 18:31
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
(((c - ' ')&&putchar(c))|1) 发现这个优先级最高,不知道为什么

小代码,大智慧
2011-02-18 18:48
快速回复:这个程序问题在那里,如果有好的解答,奖励 100 +
数据加载中...
 
   



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

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