如果在键盘上输入1时为什么SCANF认为它是数字而不是字符呢?如果输入字母A时为什么认为它是字符呢?

[复制链接]
查看11 | 回复2 | 2010-6-9 18:31:33 | 显示全部楼层 |阅读模式
scanf("%d",&a)其中认为读入的是什么依赖于"%"的内容%a,%A 读入一个浮点值(仅C99有效)%c 读入一个字符%d 读入十进制整数%i 读入十进制,八进制,十六进制整数%o 读入八进制整数 %x,%X 读入十六进制整数 %s 读入一个字符串,遇空格、制表符或换行符结束。 %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针%u 读入一个无符号十进制整数%n 至此已读入值的等价字符数%[] 扫描字符集合%% 读%符号
回复

使用道具 举报

千问 | 2010-6-9 18:31:33 | 显示全部楼层
int a; char c; scanf("%d",&a); scanf("%c",&c); printf("%c",a); printf("%d",c);你要这么写,它输出的也把a变量当字符了,把c当数字了,scanf认为它输入的什么是看你给的什么格式了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行