C语言,为什么输入1之后的得到的是49,不是1
#include<stdio.h>intmain(){intx,y;x=getchar();y=x;printf("%d\n",y);return0;}...
#include<stdio.h>
int main()
{
int x,y;
x=getchar();
y=x;
printf("%d\n",y);
return 0;
} 展开
int main()
{
int x,y;
x=getchar();
y=x;
printf("%d\n",y);
return 0;
} 展开
3个回答
展开全部
x=getchar();
你程序中的x是按字符读取的,而不是按数字读取。
字符1在ASCII码表中对应的十进制数是49,将字符1(而不是数字1)对应的十进制数赋值给整数y,y的值是49
输出y的值,当然是输出49了。
你程序中的x是按字符读取的,而不是按数字读取。
字符1在ASCII码表中对应的十进制数是49,将字符1(而不是数字1)对应的十进制数赋值给整数y,y的值是49
输出y的值,当然是输出49了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果要输出1 必须用字符输出,如果用%d则输出1对应的ASCII值49.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询