| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2138 人关注过本帖
标题:第一次试着写程序,出现了很奇怪的现象,请哥哥姐姐帮我解决一下
只看楼主 加入收藏
小兔乖乖
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-6-13
收藏
 问题点数:0 回复次数:15 
第一次试着写程序,出现了很奇怪的现象,请哥哥姐姐帮我解决一下
以前没学过,前几天开始自学的-------只看了谭浩强的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: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
Please use "int main()" instead of "void main()"
and when you use if,please use "&&" instead of ","

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-06-15 19:51
後街男孩
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-15 20:14
Loli
Rank: 1
来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
收藏
得分:0 
孔明中考完了挖。。。时间好多了挖。。。。



[color=white]
2008-06-15 20:14
小兔乖乖
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
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
#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 ();
}
上面是原程序,下面是修改后的程序,谨作参考。


程序代码:
#include "stdio.h"
void main()
{
    int a,b,c;
    printf("请输入3个数字。空格格开,回车结束输入。如果猜准了,就会出现小爱心哦~\n");
    scanf("%d %d %d",&a,&b,&c);
    if(a==0&&b==3&&c==0)printf("%c\n",3);
    else  printf("您的输入错误。\n");
    getch ();
}


[[it] 本帖最后由 广陵绝唱 于 2008-6-15 20:23 编辑 [/it]]

[[it] 本帖最后由 广陵绝唱 于 2008-6-15 20:25 编辑 [/it]]
2008-06-15 20:21
bj_31030170
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-15 20:25
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
n,m,j未赋初始值,很危险
--------------------Configuration: help4 - Win32 Debug--------------------
Compiling...
Main.cpp
E:\Microsoft Visual C++\MyProjects\临时\help4\Main.cpp(11) : warning C4508: 'main' : function should return a value; 'void' return type assumed
E:\Microsoft Visual C++\MyProjects\临时\help4\Main.cpp(8) : warning C4700: local variable 'n' used without having been initialized
E:\Microsoft Visual C++\MyProjects\临时\help4\Main.cpp(8) : warning C4700: local variable 'm' used without having been initialized
E:\Microsoft Visual C++\MyProjects\临时\help4\Main.cpp(9) : warning C4700: local variable 'j' used without having been initialized
Linking...

help4.exe - 0 error(s), 0 warning(s)

[bo][un]小兔乖乖[/un] 在 2008-6-15 20:18 的发言:[/bo]
如果三个数字不能全猜对,就会出现爱心和一个奇怪的字


嘿嘿,奇怪的字?(烫烫烫烫)恐怕是乱码吧。

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-06-15 20:26
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
我来改一下
#include <stdio.h>    // 包含什么文件要用< >? 什么时候要用" "?
#include <conio.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);*/

    if(a == 0 && b == 3 && c == 0) printf("潘多拉的魔盒,出来一个爱心吧!!");
    else printf("没猜对");
    getch();

    return 0;
}

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-06-15 20:35
luzechao
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-4-21
收藏
得分:0 
printf("请输入3个数字。每输入一个数字后要按回车。如果猜准了,就会出现小爱心哦~\n");

printf("请输入3个数字。每输入一个数字后要按回车。如果猜准了,就会出现小爱心哦~"\n);

我都串了。。
2008-06-15 20:41
快速回复:第一次试着写程序,出现了很奇怪的现象,请哥哥姐姐帮我解决一下
数据加载中...
 
   



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

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