[英]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.