标题:第一次试着写程序,出现了很奇怪的现象,请哥哥姐姐帮我解决一下
取消只看楼主
小兔乖乖
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-6-13
 问题点数:0 回复次数:1 
第一次试着写程序,出现了很奇怪的现象,请哥哥姐姐帮我解决一下
以前没学过,前几天开始自学的-------只看了谭浩强的C语言教程--------所以懂的很少
今天试着写了一个猜数字的程序:

#include "stdio.h"
void main()
{
    char a,b,c,m,n,j;
    printf("请输入3个数字。每输入一个数字后要按回车。如果猜准了,就会出现小爱心哦~\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a==0,b==3,c==0)printf("%c%c",m,n);
    else if(a!=0,b!=3,c!=0)printf("%c%c%c",&m,&n,&j);
    getch ();
}

好奇怪呀!只要最后一个输的是0,就会出现小爱心的
可是我明明规定得一次输入030才可以的呀?
还有,其实一开始我想输的是字母,结果出来的是小爱心;还发现,只有当两个字母【比如m,n】时,才会有小爱心,若是三个字母【比如m,n,j】就没有小爱心了

另外,我在编译器里输入以上代码后,虽然程序可以运行,但是编译器说我出错了【为什么出错了还可以运行呢?
搜索更多相关主题的帖子: 谭浩强 爱心 现象 printf 
2008-06-15 19:40
小兔乖乖
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-6-13
得分:0 
我也记起来了,得用&&
修改了:
#include "stdio.h"
int main()
{
    char a,b,c,m,n,j;
    printf("请输入3个数字。每输入一个数字后要按回车。如果猜准了,就会出现小爱心哦~\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a==0&&b==3&&c==0)printf("%c%c",m,n);
    else if((a!=0)|(b!=3)|(c!=0))printf("%c%c%c",m,n,j);
    getch ();
}

用“|”代替了“,”,结果,如果三个数字不能全猜对,就会出现爱心和一个奇怪的字
2008-06-15 20:18



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




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

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