文字列の配列をcで出力しても、同じ出力が得られないのはなぜですか?

アジズ・アーメド

最後の文字が配列の次の要素の最初の文字と一致すると、最後の文字が繰り返された場合の出力。理由は何ですか?解決策は何ですか?

左側がプログラム右側が出力

#include <stdio.h>

int main(void) {
  int i ;

  char fact_char[13][2] = {"I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"};

  for(i = 0; i < 13; i++){
    printf("%s\n", fact_char[i]);
  }

  return 0;
}

出力


I
IVV
V
IXX
X
XLL
L
XCC
C
CDD
D
CMM
M

yhyrcanus

cの文字列はnullで終了します。「IV」を表すために、実際には「I」、「V」、および「\ 0」をメモリに格納しています。2文字の文字列を出力する場合、printfは、メモリ内で次のヌルターミネータが見つかるまで書き込みを続けます。これはたまたま次の(1文字の)文字列にあります。

これを修正するには、

fact_char [13] [ 3 ]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

値を出力しても同じ結果が得られるのに、pow(x、1 / p)とpow(x、1.0 / p)が等しくないのはなぜですか

分類Dev

文字列の文字を変更しても目的の文字が得られないのはなぜですか?

分類Dev

文字列がC ++で目的の出力を出力しないのはなぜですか?

分類Dev

char []配列を出力しても何も出力されないのはなぜですか?

分類Dev

C ++配列が同じ値を出力するのはなぜですか?

分類Dev

ここでの出力が「等しくない」である場合、floatの代わりにdoubleを使用しても同じ出力が得られないのはなぜですか?

分類Dev

coutを使用してC ++で文字列値の配列を出力できないのはなぜですか?

分類Dev

これらの文字列式が同じ結果を出力しないのはなぜですか?

分類Dev

SQL:以下の2つのクエリで同じ出力が得られないのはなぜですか?

分類Dev

プロンプトに同じ文字列を入力した場合と変数として渡す場合で、異なる出力が得られるのはなぜですか?

分類Dev

配列の特定の添え字に値を設定しても、出力されないのはなぜですか?

分類Dev

文字列配列c ++を出力できないのはなぜですか?

分類Dev

このchar配列にintを追加しても、同じ値のASCII文字が追加されないのはなぜですか?

分類Dev

PHP-なぜ「配列」だけの出力が得られるのですか?配列をエコーする

分類Dev

出力が得られないのはなぜですか?

分類Dev

この関数が文字列のすべての部分文字列を出力しないのはなぜですか?

分類Dev

コマンド sudo su -c "sed -n -e '$p' a.txt" を使用しても出力が得られないのはなぜですか

分類Dev

配列を使用したJavaでの文字列連結。望ましい出力が得られない

分類Dev

ES6:括弧を誤って配置しても同じ結果が得られるのはなぜですか?

分類Dev

正しい乗算出力が得られないのはなぜですか?

分類Dev

printfが大きな配列を出力しないのはなぜですか?

分類Dev

whileループを使用してC#で文字列を反転していますが、正しい出力が得られていますが、forループで使用しているのと同じロジックで出力が間違っています

分類Dev

printfで異なる配列の逆参照が同じ出力を提供するのはなぜですか?

分類Dev

配列が最初の要素を出力しないのはなぜですか?

分類Dev

このnullで終了していない文字列が正しく出力されるのはなぜですか

分類Dev

整数配列オブジェクトを出力するとハッシュコードが得られるのに対し、char配列オブジェクトを出力するとJavaで値が得られるのはなぜですか?

分類Dev

char []配列が出力を印刷しないのはなぜですか?

分類Dev

文字列配列を出力すると16進数が出力されるのはなぜですか?

分類Dev

同じ入力文字列を指定すると、これらのbase64エンコーディング出力が異なるのはなぜですか?

Related 関連記事

  1. 1

    値を出力しても同じ結果が得られるのに、pow(x、1 / p)とpow(x、1.0 / p)が等しくないのはなぜですか

  2. 2

    文字列の文字を変更しても目的の文字が得られないのはなぜですか?

  3. 3

    文字列がC ++で目的の出力を出力しないのはなぜですか?

  4. 4

    char []配列を出力しても何も出力されないのはなぜですか?

  5. 5

    C ++配列が同じ値を出力するのはなぜですか?

  6. 6

    ここでの出力が「等しくない」である場合、floatの代わりにdoubleを使用しても同じ出力が得られないのはなぜですか?

  7. 7

    coutを使用してC ++で文字列値の配列を出力できないのはなぜですか?

  8. 8

    これらの文字列式が同じ結果を出力しないのはなぜですか?

  9. 9

    SQL:以下の2つのクエリで同じ出力が得られないのはなぜですか?

  10. 10

    プロンプトに同じ文字列を入力した場合と変数として渡す場合で、異なる出力が得られるのはなぜですか?

  11. 11

    配列の特定の添え字に値を設定しても、出力されないのはなぜですか?

  12. 12

    文字列配列c ++を出力できないのはなぜですか?

  13. 13

    このchar配列にintを追加しても、同じ値のASCII文字が追加されないのはなぜですか?

  14. 14

    PHP-なぜ「配列」だけの出力が得られるのですか?配列をエコーする

  15. 15

    出力が得られないのはなぜですか?

  16. 16

    この関数が文字列のすべての部分文字列を出力しないのはなぜですか?

  17. 17

    コマンド sudo su -c "sed -n -e '$p' a.txt" を使用しても出力が得られないのはなぜですか

  18. 18

    配列を使用したJavaでの文字列連結。望ましい出力が得られない

  19. 19

    ES6:括弧を誤って配置しても同じ結果が得られるのはなぜですか?

  20. 20

    正しい乗算出力が得られないのはなぜですか?

  21. 21

    printfが大きな配列を出力しないのはなぜですか?

  22. 22

    whileループを使用してC#で文字列を反転していますが、正しい出力が得られていますが、forループで使用しているのと同じロジックで出力が間違っています

  23. 23

    printfで異なる配列の逆参照が同じ出力を提供するのはなぜですか?

  24. 24

    配列が最初の要素を出力しないのはなぜですか?

  25. 25

    このnullで終了していない文字列が正しく出力されるのはなぜですか

  26. 26

    整数配列オブジェクトを出力するとハッシュコードが得られるのに対し、char配列オブジェクトを出力するとJavaで値が得られるのはなぜですか?

  27. 27

    char []配列が出力を印刷しないのはなぜですか?

  28. 28

    文字列配列を出力すると16進数が出力されるのはなぜですか?

  29. 29

    同じ入力文字列を指定すると、これらのbase64エンコーディング出力が異なるのはなぜですか?

ホットタグ

アーカイブ