| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 387 人关注过本帖
标题:tc出错了 大家帮忙看看
只看楼主 加入收藏
l258654777
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-12
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
tc出错了 大家帮忙看看
图片附件: 游客没有浏览图片的权限,请 登录注册

输入1 2 3回车,再输入1a2b回车,结果却错了,结果是第一行023第二行1a2b,请大家帮看看哪里出错了,谢谢.
2009-09-17 18:46
chenaiyuxue
Rank: 5Rank: 5
来 自:山东滨州
等 级:职业侠客
帖 子:334
专家分:370
注 册:2008-5-20
收藏
得分:10 
e,f是char型,m,n是int型,scanf("%d%c%d%c", &e, &m, &f, &n);以及printf("%d%c%d%c\n", e, m, f, n)中的对应关系错了,不过这样其实也能运行成功

你是雪,我是尘埃,相遇是意外;你坠落,在我胸怀,流进我血脉。
2009-09-17 19:37
l258654777
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-12
收藏
得分:0 
回复 2楼 chenaiyuxue
可以把关于XYZ的输入输出去掉,光运行EMFN的输入输出,输入1a2b或1a 2b都正确.反过来去,输入1 2 3也正确.不知道为什么两个在一起就不行了.虽然你回答的不是很清楚,但还是谢谢你.
2009-09-17 19:59
l258654777
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-12
收藏
得分:0 
大家来看看
大家来看看
2009-09-17 20:47
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:10 
程序代码:
main() 
{ 
 char e,f; 
 int x,y,z,m,n; 
 printf("e=%x=%x f=%x=%x x=%x=%x y=%x=%x z=%x=%x m=%x=%x n=%x=%x\n\n", 
     &e,e,&f,f,&x,x,&y,y,&z,z,&m,m,&n,n); 
 scanf("%d%d",&y,&z); 
 scanf("%d%c%d%c",&e,&m,&f,&n);
 printf("%d%d%d\n%d%c%d%c\n\n",x,y,z,e,m,f,n); 
 printf("e=%x=%x f=%x=%x x=%x=%x y=%x=%x z=%x=%x m=%x=%x n=%x=%x\n\n", 
     &e,e,&f,f,&x,x,&y,y,&z,z,&m,m,&n,n); 
 getch(); 
}
如不对x赋值,在输入1 2回车1a2b时。上面程序运行结果如下:
e=地址=十六进值   ···
没赋值前:
e=ffcc=b f=ffcd=6a x=ffce=1bab y=ffd0=720 z=ffd2=ffe4 m=ffd4=176c n=ffd6=67ad
赋值后:
e=ffcc=3 f=ffcd=1  x=ffce=1b00 y=ffd0=1   z=ffd2=2    m=ffd4=170a n=ffd6=6761
·
看字符变量f和整型变量x,它们俩的地址是挨在一起的,在%d给f赋值时,f是一字节,而%d是给两字节赋值,把变量x的一个字节也给赋值了,另一字节保持不变.就是说在给f赋值时,引响了变量x。
f没赋值前,x值是:1bab   (内存的一个值,机器不同值不相同)
f赋值后, x值是:1b00    (x的一个字节不高,另一个字节被改动)
输入格式%c也只改动变量m和n的一个字节,上面可以看出。
·
·
所以输入格式要匹配变量来赋值,以免出现上面的错误。



[ 本帖最后由 UserYuH 于 2009-9-17 21:02 编辑 ]

努力—前进—变老—退休—入土
2009-09-17 20:59
l258654777
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-12
收藏
得分:0 
奇怪
图片附件: 游客没有浏览图片的权限,请 登录注册

大家看看这个,我输入1 2 3回车,结果是第一行123第二行1a2b,真奇怪,两个不一样吗?
2009-09-17 21:23
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
不一样滴!

努力—前进—变老—退休—入土
2009-09-17 21:29
快速回复:tc出错了 大家帮忙看看
数据加载中...
 
   



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

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