#include <stdio.h>
#include <string.h>
main() {
int i = 0, j = 0;
char ch[] = { "chicken is good" };
char str[100];
while ((str[i++] = ch[j++]) != '\0') {
if (i == strlen(str))
break;
}
printf("%s", str);
}
私はwhile
ループを使用してstr
にch
から文字列"chicken is good"
をコピーしたいです。しかし、str
を印刷すると、出力は"chi"
と表示されます。それは文字列の一部だけを出力します。私の状態は間違っていますか?このCプログラムの出力を説明できますか?
私のIDEとしてDev C++を使用しています。私のコンパイラのバージョンはgcc 4.9.2です。また、私はプログラミングの初心者です。それが初期化されていない値を読んでいるので
(I == strlen関数(文字列))場合 '削除 break' – BLUEPIXY
私はそれを@BLUEPIXY – kryptokinght