c语言的scanf中使用回车符\n,是怎么回事.

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:55:09
#include <stdio.h>
void main()
{
int r; //m除以n的余数
int m,n; //输入的两个数
printf("请输入两个数: ");
scanf("%3d%3d\n",&m,&n); //在这用了\n,则不会执行换行.为什么?而且要想执行下边的语句.也得再输入一个字符或数回车才能执行下去.这是怎么一回事呀.我当然知道不用\n,什么事也就没了.呵呵.大家多指教.
printf("输入的两个数为:%-3d,%3d\n",m,n);

if(m<n) //让m成为较大的值
{
int temp;
temp=m;
m=n;
n=temp;
}

r=m%n; // %求余,/求商,\ 表示???
if(r!=0)
{
m=n;
n=r;
}

printf("两个数的最大公约数是:%3d\n",n);
}

scanf("%3d%3d\n",&m,&n); scanf是格式化输入函数,顾名思义,就是你在输入时必须按照指定的格式输入才行。象你这个,就必须输入两个三位的数,然后再输入一个回车,这样才完成了格式的要求。而在程序中,你还要再输入一个回车,这样你的输入才提交个程序,所以,就要输入两次回车了。