字符串结束标志为尀0,其ASCII为0但为什么但输入0时以下程序的输出结果确为空格呢?

#include<stdio.h>void main(){int a;scanf("%d",&a);printf("%c",a);}
2024-11-06 09:48:52
推荐回答(3个)
回答(1):

其实输出的不是空格,只不过需要占位,显示成空格了

比如:printf("%c%c%c%c%c",0,0,0,0,0);这样就会占用5个字符。

但是\0在字符串中的用法还是结尾,
这样:
char str[] = "hello world!";
str[6] = 0;
printf("%s", str);

那么,后面的就被截断了。

回答(2):

#include
void main()
{char a;
scanf("%c",&a);
printf("%d",a);
}
这样写才是字符转ASCII码

回答(3):

#include
void main()
{char a;
scanf("%c",&a);
printf("%d",a);