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