首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请问个getchar()有关问题

2012-06-09 
请教个getchar()问题源代码:#include stdio.hint main(){int aagetchar()printf(\na%d\n,a)print

请教个getchar()问题
源代码:
#include <stdio.h>
int main(){
int a;
a=getchar();
printf("\na=%d\n",a);
printf("a=%s\n",a);
return 0;
}
gcc编译后运行输出:
1,输入数字:
2

a=50
Segmentation Fault(coredump)
2,输入字母:
d

a=100
Segmentation Fault(coredump)
如果把a定义问字符数组,修改代码后能正常执行,不明白为什么a定义为char就不行呢?

[解决办法]
不能用%s输出一个整数,这样会把整数作为一个地址来解释
[解决办法]

探讨

引用:

不能用%s输出一个整数,这样会把整数作为一个地址来解释

为什么我定义char a;也是不行的呢?而且输入2后,%d的输出时50呢?

[解决办法]
探讨

引用:

引用:

引用:

不能用%s输出一个整数,这样会把整数作为一个地址来解释

为什么我定义char a;也是不行的呢?而且输入2后,%d的输出时50呢?


字符'2'的 ASCII十进制数是50

明白了,那如果我想输出2的话应该怎么写呢?
定义char a;然后printf("a=%s\n",a);这……

[解决办法]
楼主用的
printf("a=%s\n",a);,输出是以字符串形式输出类型,显然会出错。但原因不知道,应该就是“不能用%s输出一个整数,这样会把整数作为一个地址来解释”还要这位大牛来解释一下。。。

热点排行