为什么我们在%c 中得到的是带有int i 的ASCII 字符?
Why do we get the ASCII characters with int i within %c?
如果您运行以下代码,您将获得 ASCII 字符,即使我们在 for 循环内的 %c
中使用 int i
。
#include <stdio.h>
int main()
{
int i;
for (i = 0; i <= 255; i++) /*ASCII values ranges from 0-255*/
{
printf("ASCII value of character %c = %d\n", i, i);
}
return 0;
}
你能告诉我这是怎么可能的吗,因为 ASCII 里面有字符?
printf() - 格式化打印
我们使用格式说明符来指定给定变量的格式,
%d 显示整数变量值的格式说明符。
%c用于显示字符
由于 ASCII 值的范围为 0-256 , %c 将以 Integer i
打印数字的相应字符符号
计算机中的每个变量都以二进制形式存储,其值将取决于您定义的类型。例如,在内存中存储值 1010
。如果将其转换为 int
,它将打印 -6,如果将其转换为 unsigned int
,它将打印 10。int 和 char 相同。这取决于你
如果您运行以下代码,您将获得 ASCII 字符,即使我们在 for 循环内的 %c
中使用 int i
。
#include <stdio.h>
int main()
{
int i;
for (i = 0; i <= 255; i++) /*ASCII values ranges from 0-255*/
{
printf("ASCII value of character %c = %d\n", i, i);
}
return 0;
}
你能告诉我这是怎么可能的吗,因为 ASCII 里面有字符?
printf() - 格式化打印 我们使用格式说明符来指定给定变量的格式, %d 显示整数变量值的格式说明符。 %c用于显示字符 由于 ASCII 值的范围为 0-256 , %c 将以 Integer i
打印数字的相应字符符号计算机中的每个变量都以二进制形式存储,其值将取决于您定义的类型。例如,在内存中存储值 1010
。如果将其转换为 int
,它将打印 -6,如果将其转换为 unsigned int
,它将打印 10。int 和 char 相同。这取决于你