C编程问题 输入\n会输入两次1才会出现汉字,不加\n输入1直接出现汉字为什么

#include <stdio.h> int main() { int type; printf("选择你要输入的数字"); scanf("%d\n",&type); switch(type){ case 1: printf("你好"); break; case 2: printf("晚上好"); break; case 3: printf("凌晨好"); break; default: printf("你说什么"); } return 0; }

scanf("%d\n",&type); 亲,您好~这句话代表了你输入一个数字加一个\n就完成,再次按下\n才会结束输入追问

那为什么输入两次1才会出现汉字

追答

加了\n是要求输入格式为输入数据之后按下回车,这个按下的回车只作为格式处理,
当然平时这两个写法基本一样效果
加了\n之后,你输入一个数字后按下回车,然后接着输入字符,是算到下一个字符里面的~但是你这个又没有,所以没事

温馨提示:内容为网友见解,仅供参考
无其他回答

C编程问题 输入\\n会输入两次1才会出现汉字,不加\\n输入1直接出现汉字...
scanf("%d\\n",&type); 亲,您好~这句话代表了你输入一个数字加一个\\n就完成,再次按下\\n才会结束输入

为什么scanf那一行语句加了\\n得输入两次字符才能输出,去掉\\n就正常了...
解释原因:scanf在每次回车之后从缓冲区中读取用户输入的字符,且当缓冲区非空时,输入回车之后才会自动结束。当按照scanf("%c\\n", &m)这种形式书写时,相当于你输入结束之后,缓冲区的数据被立即读取且被清空,缓冲区为空,scanf不退出,当你再输入一个字符后,缓冲区不空,再次回车后scanf退出。而...

printf(“%d%d\\n”)后面为什么要加\\n啊,不加对输出结果有影响吗_百度...
"\\n":C语言中的换行符是"\\n",就是输入完一行内容后,光标转到下一行的起始位置 。不加“\\n”对输出的字符,字符串,数字等没有影响,但是输出矩阵的时候要加“\\n”。例如:printf("first line\\n");printf("second line\\n");换行符(line break)是指一种计算机语言表达方式,它的作用是让...

为什么我的c语言程序第一个要输入两行才能运行下一步?
scanf("%s\\n");因为你的scanf("%s\\n");每个%s后面都多了一个换行 也就数说出了输入一个字符串以外 还需要再输入一个换行 输入字符串 回车 这是输入了一个字符串 然后再回车 才是输入了换行 有疑问请追问 满意请记得采纳哦

C语言switch语句 我写的是不是有问题 为什么要输入两次数字才会...
int score;printf ("分数=");scanf ("%d",&score);\/\/修改此句 if (score<0||score>100)printf("数据错误!");else switch (score\/10){ case 10:case 9:printf("A\\n");break;case 8:printf("B\\n");break;case 7:printf("C\\n");break;case 6:printf("D\\n");break;default:pr...

C语言中scanf函数中加\\n为什么会这样
在scanf里 \\n 很特别的,不是要求输入一个回车换行。老师应该专门强调一下这点。引用一下别人的说法:过滤空格、制表符、回车等输入,也就是说 scanf("%d\\n", &i);printf("%d\\n", i);你输入一个数后,它是不会立即显示的,要等再接收到一个非(空格、制表符、回车)的输入scanf语句才结束...

C语言中scanf("%d\\n")中的\\n存在与不存在对于编译结果不同的详细解释...
scanf("%d\\n", &i); 是“有格式”输入语句,只有当 格式 全部 用完 才开始 做 数据翻译转换工作。格式 没全部 用完,它会 等待 键盘输入。没有\\n 时,只要你拍入 整数和 Enter 键,scanf 就开始工作。有\\n 时,如果你只 拍入 整数和 Enter 键,scanf 并不开始 做 数据翻译转换工作,要...

c++程序输出多出个“E”,输入第一行判断值要输入两次才出结果,怎么解决...
include<stdio.h>#include<math.h>int main(){float score;int count;printf("要输入的学生成绩个数:");scanf("%d", &count);if (count <= 0) {printf("输入学生成绩个数必须为正数");return 1;}while (count > 0) {printf("请输入学生成绩:\\n");scanf("%f",&score);count--;if...

为什么在C语言打“\\”不行,打“\/”才能出现正确的效果,之前打“\\...
scanf("%d,%d\\n",&x,&y)和scanf("%d,%d\/n",&x,&y)均可以开启缓冲区读取输入功能,但是前者有'\\n',系统识别为输入完成,因此不能进行输入,直接输出“max=···”;后者'\/n'纯属多余。建议了解下阻塞式输入和非阻塞式输入,之后就能明白为什么会这样了。

c语言 为什么scanf加了个\\n会差别那么大。。
在scanf的输入格式串中,除了定义的输入变量类型,其它字符在定义了在输入中接收这些字符 "%d\\n"这表示,scanf在接收一个整形数后,再接收一个换行符 如 scanf("%d,%d",&a,&b);这就要求输入时,两个整形间要有一个逗号隔开 如 123,465(如果没有中间没有逗号,那是会出错的~)反正就是,在...

相似回答
大家正在搜