gpt4 book ai didi

c - C中单引号和双引号的区别

转载 作者:行者123 更新时间:2023-11-30 17:01:28 25 4
gpt4 key购买 nike

最近我发现,如果我将 printf 与“foo”一起使用,我会收到警告。

printf('numero');

warning: character constant too long for its type [enabled by default] warning: passing argument 1 of ‘printf’ makes pointer from integer without a cast. /usr/include/stdio.h:362:12: note: expected ‘const char * restrict’ but argument is of type ‘int’ extern int printf (const char *__restrict __format, ...); warning: format not a string literal and no format arguments [-Wformat-security]

当我使用 "" 时,我没有收到任何警告 printf("numero");

那么,''"" 之间有什么区别?

最佳答案

在c中,字符串分隔符是"'用于字符常量。

双引号 " 将生成一个字符串,即以 '\0' 字节终止的字节序列。

示例:

const char *string = "Example";
/* the sequence -> ['E', 'x', 'a', 'm', 'p', 'l', 'e', '\0'] is generated */

' 将生成一个整数,在单个字符的情况下,它是它表示的 ascii 值,在多个字符的情况下,它是实现定义的。

示例:

char A = 'A'; /* the ascii value of 'A', 0x41 or 65 decimal */

多字符字符串,也会生成一个整数,但它的值会根据c实现/编译器而变化。

关于c - C中单引号和双引号的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37057038/

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