私は C から始めたばかりで、Ritchie の本からいくつかの例を試していました。文字配列を理解するための小さなプログラムを作成しましたが、いくつかのエラーに出くわし、何が間違っているのかについての洞察を期待していました。
#include <stdio.h>
#define ARRAYSIZE 50
#include <string.h>
main () {
int c,i;
char letter[ARRAYSIZE];
i=0;
while ((c=getchar()) != EOF )
{
letter[i]=c;
i++;
}
letter[i]='\0';
printf("You entered %d characters\n",i);
printf("The word is ");
printf("%s\n",letter);
printf("The length of string is %d",strlen(letter));
printf("Splitting the string into chars..\n");
int j=0;
for (j=0;j++;(j<=strlen(letter)))
printf("The letter is %d\n",letter[j]);
}
出力は次のとおりです。
$ ./a.out
hello how are youYou entered 17 characters
The word is hello how are you
The length of string is 17Splitting the string into chars..
何が起こっている?for ループから出力が得られないのはなぜですか?