小编TAD*_*UKE的帖子

C 编程:为什么 printf 格式说明符 %s 对数字“123”无效?

我是一个 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)

但我想了解为什么上面的代码无效。

c printf

3
推荐指数
2
解决办法
388
查看次数

标签 统计

c ×1

printf ×1