搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 要求从键盘输入一个整数,没有使用取址符号,为什么输入字符仍然可以使用
标题:
要求从键盘输入一个整数,没有使用取址符号,为什么输入字符仍然可以使用
只看楼主
cheenbee
等 级:
论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
结帖率:
100%
楼主
已结贴
√
问题点数:5 回复次数:10
要求从键盘输入一个整数,没有使用取址符号,为什么输入字符仍然可以使用
例子如下,难倒是因为字符 ASCII 码 的原因吗,如何在内存中存储的啊
#include <stdio.h>
int main(){
int v;
scanf("%d",v);
printf("%d\n",v);
return 0;
}
搜索更多相关主题的帖子:
如何
键盘
return
include
2016-01-13 10:45
wp231957
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
2
楼
得分:2
那有啥用 你也取不到你想要的结果
DO IT YOURSELF !
2016-01-13 10:58
wmf2014
等 级:
贵宾
威 望:
216
帖 子:2039
专家分:11273
注 册:2014-12-6
第
3
楼
得分:3
是因为你输入的是字符,和%d的格式不相符,scanf根本就没有往内存存,所以没有错误提示。楼主可以试下:不论你输入的是什么字符,最后输出的数据不变,说明你的输入没有存进去。
能编个毛线衣吗?
2016-01-13 11:09
cheenbee
等 级:
论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
第
4
楼
得分:0
回复 3楼 wmf2014
试了一下,版主请过目附件图片,好像不是那样啊,
2016-01-13 15:46
cheenbee
等 级:
论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
第
5
楼
得分:0
回复 2楼 wp231957
只是想知道怎么会出现这种情况
2016-01-13 15:46
wmf2014
等 级:
贵宾
威 望:
216
帖 子:2039
专家分:11273
注 册:2014-12-6
第
6
楼
得分:0
回复 5楼 cheenbee
各编译器对不初始化的变量的处理方式不一样,你使用如下代码就可以看到:scanf在输入和格式不匹配时不修改变量的事实。
#include <stdio.h>
int main(){
int v=10;
scanf("%d",v); //只要在此输入的是字母,输出永远是10
printf("%d\n",v);
return 0;
}
能编个毛线衣吗?
2016-01-13 16:08
wp231957
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
7
楼
得分:0
vs下debug版本的 对于这种代码 根本就不予支持
#include <stdio.h>
int main()
{
int v;
printf("%d\n",v);
return 0;
}
直接会抛出异常了事
DO IT YOURSELF !
2016-01-13 16:14
wp231957
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
8
楼
得分:0
嗯 release版本的不抛出异常
DO IT YOURSELF !
2016-01-13 16:19
cheenbee
等 级:
论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
第
9
楼
得分:0
回复 7楼 wmf2014
想起来了,是这样,scanf输入和指定参数的不同的值会留存在输入缓存中,多谢解答
2016-01-13 16:30
cheenbee
等 级:
论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
第
10
楼
得分:0
回复 9楼 wp231957
是这样,多谢
2016-01-13 16:32
11
1/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-461058-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.467916 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved