|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码如下
printf("input a numbers(6位数):\n");
scanf("%4d",&a);
printf("%d\n",a);
printf("input a numbers(6位数):\n");
scanf("%3d%3d",&a,&b);
printf("%d %d\n",a,b);
我第一次输入123456,打印1234.
第二次输入654321,为何打印56,6543?是把上次输入省去的值放到下次的赋值了,为什么会这样?
我刚开始以为是变量重复的问题,后来我重新定义了两个变量d,e结果一样。
求教求教,下面是第二次完整代码
#include <stdio.h>
void main()
{
int a,b,d,e,n;
char c;
printf("input a character:\n");
c=getchar();
putchar(c);
printf("\n");
printf("input 3 numbers:\n");
scanf("%d %*d %d",&a,&b,&n);
printf("%d %d %d",a,b,n);
printf("\n");//这两个是其他练习,不用管它//
printf("input a numbers(6位数):\n");
scanf("%4d",&a);
printf("%d\n",a);
printf("input a numbers(6位数):\n");
scanf("%3d%3d",&d,&e);
printf("%d %d\n",d,e);
}
我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的数据取完后再去磁盘中读取,这样就可以减少磁盘的读写次数,再加上计算机对缓冲区的操作大大快于对磁盘的操作,故应用缓冲区可大大提高计算机的运行速度。你的123456是在缓冲区的,从缓冲区读取了1234,,56留在了缓冲区,所以会继续读取56 嗯,应该是这样
|
|