| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 959 人关注过本帖
标题:这个输出结果是怎么来的?????
只看楼主 加入收藏
yuzhenting
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-4-22
结帖率:50%
收藏
 问题点数:0 回复次数:11 
这个输出结果是怎么来的?????
main()
{
  int a;
  printf("input a number\n");
  scanf("%d",&a);
  printf("%ld",a);
 }
为什么我输入1时得到65537
        输入a时得到205065273
我想知道怎么得出来的,希望高手指点
搜索更多相关主题的帖子: 结果 输出 
2010-04-24 22:55
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
收藏
得分:0 
我验证了下输入1输出是1不知道你怎么得出65537的,至于输入a得出是什么这个就不好说了,因为数据类型根本不一样,你输入a由于不符合数据类型,所以scanf并不把a存进去,所以a是&a所指向的内存里的值

在虚拟的世界中寻找目标。
2010-04-24 23:25
yuzhenting
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-4-22
收藏
得分:0 
那奇怪了我这输入1输出就是65537
2010-04-24 23:32
b11121012
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-24
收藏
得分:0 
printf("%d",a)
这一句你多了一个字符
你是照着书写的吧??
我给你写一个你对照一下就知道了
main()
{
  int a;
  printf("input number");
  printf("\n");     /*换行的意思*/
  scanf("%d",&a);
  printf("%d",a);
  printf("\n");
  system("pause");  /*暂停的意思*/
}



我也是刚学的··有机会多交流交流··我一直在看谭浩强老师的书

[ 本帖最后由 b11121012 于 2010-4-25 00:04 编辑 ]
2010-04-24 23:58
huiming
Rank: 2
等 级:论坛游民
帖 子:31
专家分:36
注 册:2010-4-8
收藏
得分:0 
没错啊,lz的机子有问题
2010-04-25 00:04
红手心
Rank: 2
等 级:论坛游民
帖 子:31
专家分:36
注 册:2010-4-7
收藏
得分:0 
有时候好像是软件的问题 ,我昨晚编的程序明明是对的 但老出错,换了个编程工具就好了

我是新手
2010-04-25 08:06
zhouxingwen
Rank: 1
来 自:中国
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-4-24
收藏
得分:0 
  LZ不能直接输入a吧  它属于字符的
2010-04-25 20:00
aiyinsitan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:183
专家分:177
注 册:2010-4-22
收藏
得分:0 
我的编译器当输入1 输出也是1;我用的是VC6.0,编译器问题吧。但是输入字符a时,就输出一个负很大的数 我估计可能输出的是内存地址吧
2010-04-25 22:35
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
printf("%ld",a);

你输出了一个long啊,a是int当然有问题了。
2010-04-25 22:41
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
那是因为TC,下int和long位数不同。它把挨着的内存数据输出了吧。
2010-04-25 22:44
快速回复:这个输出结果是怎么来的?????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011470 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved