我是一个 C 编程新手。
通过其他问题的答案,我可以理解“角色”一词可能指向不同的元素;例如字母和数字。
我将“字符串”视为字符。
然后,请看以下几行:
#include <stdio.h>
main()
{
int numbers = 123;
printf("%c%s\n", "N", numbers);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译此代码时,显示错误消息并且编译失败。
教科书“C 编程语言”第 13 页对 printf 格式说明符的说明如下;
“
%c为性格”“
%s为字符串”。
第一个问题:
虽然“N”是一个字符,但为什么%c说明符无效?
第二个问题:
尽管变量“numbers”的值为“123”,但它们是数字,包含在字符中。
我认为字符等于“字符串”。
那么,虽然我用 %s 表示“123”,但为什么无效呢?
我知道我的代码会起作用,如果我像下面那样修改它们:
#include <stdio.h>
main()
{
int numbers = 123;
printf("%s%d\n", "N", numbers);
}
Run Code Online (Sandbox Code Playgroud)
但我想了解为什么上面的代码无效。