c - 为什么只输出字符 'u'

标签 c

我对 C 语言有点陌生。下面发生了什么?输出只有“u”

#include<stdio.h>

void main()
{
    printf("%c\n",'pasundu');
}

最佳答案

您将 %c 放入 printf 语句中,告诉编译器您要打印单个字符。

您还在字符序列 pasundu 周围使用单引号 ' - 这里是一个多字 rune 字。多字 rune 字具有实现定义的值 - 在这种情况下,编译器似乎正在获取文字中的最后一个字符。

要解决此问题,我假设您希望将 pasundu 显示为字符串:

#include <stdio.h>

int main()
{
    printf("%s\n","pasundu");
}

请注意,我还更改了 main 的返回类型,因为允许使用 void,但并不要求所有编译器都支持它。

关于c - 为什么只输出字符 'u',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46973390/

相关文章:

c - 链接静态库

具有非复合语句用例的 C switch 语句?

c - c/c++ 中的 3D 或 2D 图形?

c - 在 Go 程序中使用 C 代码时未声明的标识符

c - strstr() 导致段错误

c - 在 if() 语句中使用 strcmp() 作为条件如何工作?

c++ - 为#include 连接和字符串化宏值

c - 如何从 C 文件中读取最后 n 行

C 程序打印太多

c - 什么是 C 代码失败并通过/不通过优化进行编译?