gpt4 book ai didi

c - C 中变量后的新行

转载 作者:行者123 更新时间:2023-11-30 21:15:14 25 4
gpt4 key购买 nike

在 C 语言中,我尝试在变量后面执行\n 操作。

这是我的源代码:

int main() {
int xD = 21;
printf(xD\n);
}

我在编译时收到了这个:

new 1.c: In function ‘main’:
new 1.c:5:11: error: stray ‘\’ in program
printf(xd\n);
^
new 1.c:5:12: error: expected ‘)’ before ‘n’
printf(xd\n);
^
new 1.c:5:9: warning: format not a string literal and no format
arguments [-Wformat-security]
printf(xd\n);
^~

如何修复它?

最佳答案

这里有两个问题:1. printf() 期望第一个参数是指定格式的 const char* 字符串。2. 编译器不知道如何解释字符串(引号)之外的 \n。这就是阻止它编译的原因。

即使您删除了 \n,尝试 printf(xd) 也会要求 printf() 处理 xd(整数)作为格式字符串——这对你不起作用。事实上,C 可能会尝试将 xd 隐式转换为 const char*。您要求 printf() 将“位于地址 21 的字符数组”解释为格式字符串(几乎可以肯定那里没有格式字符串)。

你真正想说的是:

printf("%d\n", xd);

关于c - C 中变量后的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52088721/

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