#include<stdio.h>
int i;
int s[3];
main()
{
for( i=0;i<3;i++)
{
scanf("%d\n",&s[i]);
printf( "[第 %d 次] -- %d\n", i, s[i]);
}
getch();
}
#include<stdio.h>
int i;
int s[3];
main()
{
for( i=0;i<3;i++)
{
scanf("%d",&s[i]);
printf( "[第 %d 次] -- %d\n", i, s[i]);
}
getch();
}
为什么scanf加了个\n会差别那么大。。
第一个要输入两个数才可以运行 第二个一个就可以了
c语言 为什么scanf加了个\\n会差别那么大。。
"%d\\n"这表示,scanf在接收一个整形数后,再接收一个换行符 如 scanf("%d,%d",&a,&b);这就要求输入时,两个整形间要有一个逗号隔开 如 123,465(如果没有中间没有逗号,那是会出错的~)反正就是,在格式串中定义的非类型控制符,那么相应的在输入时也要输入这个字符 ...
C语言中scanf函数中加\\n为什么会这样
在scanf里 \\n 很特别的,不是要求输入一个回车换行。老师应该专门强调一下这点。引用一下别人的说法:过滤空格、制表符、回车等输入,也就是说 scanf("%d\\n", &i);printf("%d\\n", i);你输入一个数后,它是不会立即显示的,要等再接收到一个非(空格、制表符、回车)的输入scanf语句才结束。
C语言关于scanf函数问题
第一个问题,因为你的scanf函数使用了域宽来指定读入的格式。所谓域宽,就是说读入的时候把某个宽度内的值付给某变量。那么。你第一个参数读入规则是%3c,意思是设置域宽为3,读入一个char型数据。你输入的是abcde。那么前面的abc将作为第一个参数给一个char型数据。而char型数据只需要一个字符,所以a...
C语言,如果在scanf函数里加\\n为什么只影响第一次循环
scanf中加入\\n就是告诉scanf函数,你要在这个位置输入一个回车符,请忽略 由于scanf默认以回车为输入结束,因此你在输入时要记住在你指定的哪个位置需要多输入一个回车才能让scanf正常接收数据
C语言的scanf("%d\\n",&r);只要加入\\n逻辑就错了,有大神能告诉我为什么...
\\n就结束输入了,scanf函数的第一个参数是都要输入的,你这个"%d\\n",就需要先输入一个整数,再输入一个"\\",再输入一个"n",再回车,所以一直阻塞在这,随便搜的一个博客,看看应该就理解了 网页链接
c语言中\\n怎么用
1、scanf中通常是不需要加\\n的,不加的时候,从键盘输入回车,表示输入结束了;如果加了\\n,键盘输入的回车就被当成输入的字符了,需要再次输入非空白的字符才能结束输入,而且容易导致混乱,所以不建议在scanf中加\\n 2、printf中的\\n就很好理解了,就是表示输出一个换行。
在C语言中scanf("%d\\n",&a);这个语句,加上\\n 为什么在键盘输入的时候...
scanf(" "), scanf("\\n")效果是相同的:表明scan函数会读取空格、TAB、回车直到第一个非空字符为止。详细可以参见scanf()函数format字符串的详细解释。format C string that contains one or more of the following items:Whitespace character: the function will read and ignore any whitespace ...
谁帮我看下 C语言问题?scanf中加\\n之后的作用
当你从键盘输入数据时,是先放在该缓冲中,然后scanf才从该缓冲中读数据,你不加\\n时,你输入i的值,然后回车想再输入m的值吧?这时送到缓冲中的就是i的值和一个回车符,所以scanf第一次读的是i,第二次读的就是一个回车符,所以printf(" %c\\n",m);输出的是回车,而不是你理想中的m值,...
C语言小白。为什么程序加了printf("\\n");后程序出错,可是没加则可以...
这个应该就不是加不加这条语句的问题,这个语句的含义就是多输出一个换行,不影响程序结果,只影响程序输出格式。
为什么c语言中,如果在scanf括号中最后写上\\n,程序运行时,输入后会没...
等待输入'\\n',可是scanf把最后打入的'\\n'当作接收命令而不赋给变量,所以要再输入一个数据再打回车才能向下走,而且输入的是上一次的数据,第二次打入的数据并未接收。所以这种写法是错误的,要坚决避免。