簡體   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