gpt4 book ai didi

C printf %c 字符打印

转载 作者:行者123 更新时间:2023-11-30 18:39:45 28 4
gpt4 key购买 nike

打印以下代码(使用 clang 编译)

输出

[A][?][?]

代码

#include <stdio.h>

int main(){
char a = "A";
printf("[A]");
printf("[%c]", a);
printf("[%c]", "A");
}

发出警告(clang 会发出警告)

test.c:4:10: warning: incompatible pointer to integer conversion initializing
'char' with an expression of type 'char [2]' [-Wint-conversion]
char a = "A";
^ ~~~
test.c:7:20: warning: format specifies type 'int' but the argument has type
'char *' [-Wformat]
printf("[%c]", "A");
~~ ^~~
%s

但是

输出

[A][z][z]Characters: a A 

代码

int main(){
char a = "A";
printf("[A]");
printf("[%c]", a);
printf("[%c]", "A");
printf ("Characters: %c %c \n", 'a', 65);

}

我认为这与内存和整数有关(既是因为警告,也是因为呈现为“?”的“A”变成了“z”,即“A”- -)。

最佳答案

这是因为 "A"'A''\0'< 的 const char[2] 字符串。使用:

char a = 'A';

得到你看起来想要的东西。

关于C printf %c 字符打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28747705/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com