Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么下面的程序会给出输出:A_C_Arrays_Pointers_Printf - Fatal编程技术网

C 为什么下面的程序会给出输出:A

C 为什么下面的程序会给出输出:A,c,arrays,pointers,printf,C,Arrays,Pointers,Printf,为什么下面的程序给出输出:A 格式说明符%d之后\n的用法是什么? 我已经在Linux、Windows和Windows上试用过了 ASCII字符编码。A是65岁 您正在将输出格式说明符从%d-整数更改为%c-字符ASCII字符编码。A是65岁 您正在将输出格式说明符从%d-整数更改为%c-字符%c表示字符 65是“A”的ASCII码。%c表示字符 65是“A”的ASCII码。如果格式字符串为%c,则指定printf应打印一个字符。65是字符“A”的ASCII值 您将在上找到有关ASCII的更多信

为什么下面的程序给出输出:A

格式说明符%d之后\n的用法是什么? 我已经在Linux、Windows和Windows上试用过了


ASCII字符编码。A是65岁


您正在将输出格式说明符从%d-整数更改为%c-字符

ASCII字符编码。A是65岁

您正在将输出格式说明符从%d-整数更改为%c-字符

%c表示字符

65是“A”的ASCII码。

%c表示字符

65是“A”的ASCII码。

如果格式字符串为%c,则指定printf应打印一个字符。65是字符“A”的ASCII值

您将在上找到有关ASCII的更多信息,包括字符值表。

对于格式字符串%c,您指定printf应打印字符。65是字符“A”的ASCII值


您将在上找到有关ASCII的更多信息,包括字符值表。

首先,您的程序修改格式字符串:它变为%c\n。然后它打印65,它被重新解释为ASCII码,即大写字母A

这与

printf("%c\n", 65);
甚至

printf("%c\n", 'A');

由于字符值在传递给变量函数(如printf)时会转换为int。

首先,程序会修改格式字符串:它变为%c\n。然后它打印65,它被重新解释为ASCII码,即大写字母A

这与

printf("%c\n", 65);
甚至

printf("%c\n", 'A');

因为char值在传递给变量函数(如printf)时会转换为int。

让我们了解执行流程和变量的状态。最初,您正在设置字符串p=%d\n。“%d”告诉printf在“%d”处打印一个整数,它将在字符串参数之后传递给printf。然后设置p[1]=“c”。这会将p更改为%c\n,因为数组从0开始编制索引,所以在引用1位置时会更改第二个字符。他们用p和65调用printf,这使得调用看起来像这样:“printf%c\n,65”。%c告诉printf函数用作为第二个参数传递的字符替换%c。在C语言中,字符在ASCII表中表示为整数,可在以下位置找到:。恰好65是“A”的代码,所以会打印出一个“A”,后跟一个换行符。我希望这是有帮助的

让我们了解执行流程和变量的状态。最初,您正在设置字符串p=%d\n。“%d”告诉printf在“%d”处打印一个整数,它将在字符串参数之后传递给printf。然后设置p[1]=“c”。这会将p更改为%c\n,因为数组从0开始编制索引,所以在引用1位置时会更改第二个字符。他们用p和65调用printf,这使得调用看起来像这样:“printf%c\n,65”。%c告诉printf函数用作为第二个参数传递的字符替换%c。在C语言中,字符在ASCII表中表示为整数,可在以下位置找到:。恰好65是“A”的代码,所以会打印出一个“A”,后跟一个换行符。我希望这是有帮助的

您可以在使用EBCDIC的平台上试用。@DanielFischer,为拥有相同的想法而欢呼五声编辑:这不是必需的,但如果您在自己的行上有输出,它的可读性会更好,新标题与我们的问题有什么关系?@downvoter:有人能告诉我为什么它被否决吗?你可以在使用EBCDIC的平台上试用。@DanielFischer,为拥有同样的想法欢呼编辑:这不是必需的,但如果你有自己的输出,它会更可读,新的标题和我们的问题有什么关系?@downvoter:有人能告诉我为什么它被否决了吗?