| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2366 人关注过本帖
标题:新人求助 c语言问题
只看楼主 加入收藏
henry00
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2016-4-8
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:8 
新人求助 c语言问题
#include<stdio.h>
int main()
{
    int a;
    scanf("%d\n",&a);
    printf("%d\n",a);
    if(a>80)
    {
        printf("成绩优秀");
    }
    else if(a>=60 && a<=80)
    {
        printf("及格");
    }
    else
    {
        printf("不及格\n");
    }
    printf("123");
    return 0;
}

这个程序在vc上 说 else不符合 这个条件   哪位大神帮忙解答下
搜索更多相关主题的帖子: c语言 
2016-04-26 22:35
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:15 
以下是引用henry00在2016-4-26 22:35:50的发言:

#include
int main()
{
    int a;
    scanf("%d\n",&a);
    printf("%d\n",a);
    if(a>80)
    {
        printf("成绩优秀");
    }
    else if(a>=60 && a<=80)
    {
        printf("及格");
    }
    else
    {
        printf("不及格\n");
    }
    printf("123");
    return 0;
}
 
这个程序在vc上 说 else不符合 这个条件   哪位大神帮忙解答下
把scanf里的\n去掉,你再试试。
2016-04-26 22:40
lexue
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-6-7
收藏
得分:0 

2016-04-26 22:51
henry00
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2016-4-8
收藏
得分:0 
回复 2楼 linlulu001
可以了 谢谢啊  可是不懂为啥要把\n 去掉
2016-04-27 08:27
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:5 
scanf("%d\n",&a); \n是换行符就是回车
转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。
常用的转义字符及其含义
转义字符 转义字符的意义 ASCII代码
 \n 回车换行 10
 \t 横向跳到下一制表位置 9
 \b 退格 8
 \r 回车 13
 \f 走纸换页 12
 \\ 反斜线符"\" 92
 \' 单引号符 39
\” 双引号符 34
 \a 鸣铃 7
 \ddd 1~3位八进制数所代表的字符
 \xhh 1~2位十六进制数所代表的字符
另一方面scanf函数的一般形式

scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件。scanf函数的一般形式为:
    scanf(“格式控制字符串”, 地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。

[此贴子已经被作者于2016-4-27 08:37编辑过]

2016-04-27 08:36
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
scanf中的‘\n'过滤空格、制表符、回车等输入,你输入一个数后,它是不会立即显示的,要等再接收到一个非(空格、制表符、回车)的输入scanf语句才结束。
但请注意的是,最后输入的那个非(空格、制表符、回车)的东西是不会被这个scanf读进来的,而是留在输入流里。
你可以加上那个'\n',然后输入一个整数回车,再输入整数回车试试看。

[此贴子已经被作者于2016-4-27 08:41编辑过]

2016-04-27 08:38
henry00
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2016-4-8
收藏
得分:0 
回复 6楼 linlulu001
了解了 谢谢
2016-04-27 21:14
花开不败yyq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-5-14
收藏
得分:0 
printf("123");????
2016-05-14 16:01
陆苗
Rank: 2
等 级:论坛游民
帖 子:52
专家分:39
注 册:2016-5-31
收藏
得分:0 
回复 8楼 花开不败yyq
为毛要输出123

------虚心学习,不懂就问
2016-05-31 16:48
快速回复:新人求助 c语言问题
数据加载中...
 
   



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

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