繁体   English   中英

从C中的字符串中打印出单个字符

[英]Print out a single character from a character string in C

我的问题是我只想做一个简单的测试,以便从char中打印出单个字符。 我的代码如下所示:

#include <stdio.h>

#include <string.h>

int main()
{
    char table[20] = "Hello";

    printf("%s \n", table[0]);
    return 0;
}

我只会遇到分段错误,也尝试过使用大括号({})

使用%c来做到这一点。

printf("%c", table[0]);

%s格式说明符期望一个(空终止)字符串的地址。 相反,您的代码仅传递字母“ H”的ASCII值(十进制为72),这当然不是任何字符串的有效地址。

要打印第一个字符:

printf("%c\n", table[0]);

要打印整个字符串:

printf("%s\n", table);

您需要使用%c而不是%s

尝试使用%c代替%s。 %s将尝试打印整个字符串,该字符串不是以空结尾的,因为它已初始化为字符数组。 在字符串末尾没有空终止符的情况下,%s会从末尾开始运行,并为您提供段错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM