c语言吧,输出后c=48为什么?
#include<stdio.h>main(){charc='100';printf("c=%d\n",c);}#include<stdio.h>main(){charc...
#include <stdio.h>
main ()
{
char c='100';
printf("c=%d\n",c);
}
#include <stdio.h>
main ()
{
char c='100';
printf("c=%c\n",c);
}
将%d换成%c后c=0。又是为什么? 展开
main ()
{
char c='100';
printf("c=%d\n",c);
}
#include <stdio.h>
main ()
{
char c='100';
printf("c=%c\n",c);
}
将%d换成%c后c=0。又是为什么? 展开
4个回答
展开全部
因为将字符串'100'赋给char型的话,只会保存最后一个字符,也即字符'0',所以输出c=48(0的ASCII是48)
追问
因为char只能输入一个字符所以系统默认保存最后一个字符吗?
追答
对啊,系统只对char类型分配一个字节的存储空间,前面的都被后面的覆盖了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关键在于c的值,你给字符型赋的值就是0。
所以用%d输出的是c的ASCII码,用%c输出的就是c的值。
所以用%d输出的是c的ASCII码,用%c输出的就是c的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char‘’获取的是Asc码,输出的当然就是Asc码值咯;%d输出c,%c输出c的字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询