Cod*_*sic -2 c variables printf newline
在 C 中,我尝试在变量后面执行 \\n 。
\n这是我的源代码:
\nint main() {\n int xD = 21;\n printf(xD\\n);\n}\nRun Code Online (Sandbox Code Playgroud)\n我在编译时收到了这个:
\nint main() {\n int xD = 21;\n printf(xD\\n);\n}\nRun Code Online (Sandbox Code Playgroud)\n我该如何修复它?
\n这里有两个问题: 1.printf()期望第一个参数是const char*指定格式的字符串。2. 编译器不知道如何解释\n字符串(引号)之外的内容。这就是阻止它编译的原因。
即使您删除了\n,尝试也会printf(xd)要求printf()将 xd (整数)视为格式字符串 - 这对您不起作用。事实上,C 可能会尝试对xdto进行隐式转换const char*。您要求printf()将“位于地址 21 的字符数组”解释为格式字符串(几乎可以肯定那里没有格式字符串)。
你真正想说的是:
printf("%d\n", xd);
Run Code Online (Sandbox Code Playgroud)