LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 619|回复: 6

为什么会读第二个数字?

[复制链接]
发表于 2004-7-1 01:06:22 | 显示全部楼层 |阅读模式
  1. main()
  2. {
  3.   int *a;
  4.   int *b;
  5.     scanf("%d",a);
  6.     scanf("%d",b);
  7.     printf("a=%d \n",*a);
  8.     printf("b=%d \n",*b);
  9. }
复制代码


结果是:
打入,4和3
输出的是:
a=3
b=3

打入6和4
输出的是
a=4
b=4

为什么就是输出第二个打入的数字 ? 哪里错了 ?
发表于 2004-7-1 10:39:13 | 显示全部楼层
晕,你声明得指针没初始化。。。。。。。。。。。。
发表于 2004-7-2 10:08:06 | 显示全部楼层
请楼主先把C语言学好。不然有人给了你答案你也看不懂。
发表于 2004-7-2 11:40:04 | 显示全部楼层
没 SIGSEGV?
发表于 2004-7-2 14:45:28 | 显示全部楼层
你用scanf接收输入时,应该用回车表示一次输入完毕,根据你所说的看来你是一次输入两个数据了。应该是输入:3回车,4回车,就对了。
发表于 2004-7-2 16:05:05 | 显示全部楼层
同意楼上,楼主应该先好好看书
发表于 2004-7-2 17:36:51 | 显示全部楼层
#include<stdio.h>
void main(void)
{
   int *a=NULL,*b=NULL;
   scanf("a=%d",a);
   scanf("b=%d",b);
   …………
}
这样你就明白哪里错了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表