文字列の配列について
Posted: 2009年11月13日(金) 18:38
#include<stdio.h>
#include<string.h>
int main(void)
{
char str[81];
int len,cnt=0;
puts("文字列の入力");
scanf("%s",str);
len=strlen(str);
printf("%sは%d文字である \n",str,len);
for(cnt=0;cnt<len;cnt++){
putchar(str[cnt]);
printf("\n");
}
//putchar(str[cnt+1]);
return 0;
}
このプログラムについてですが、配列の文字列はナル文字\0の記述が必須と聞きました。
しかし、コメントの//putchar(str[cnt+1]);をプログラムに入れると
最後に「フ」?のようなエラーが出て、逆にこのまま実行すると正常に動きます。
なぜこのような事が起きるのでしょうか?
どなたかご回答お願いします。
#include<string.h>
int main(void)
{
char str[81];
int len,cnt=0;
puts("文字列の入力");
scanf("%s",str);
len=strlen(str);
printf("%sは%d文字である \n",str,len);
for(cnt=0;cnt<len;cnt++){
putchar(str[cnt]);
printf("\n");
}
//putchar(str[cnt+1]);
return 0;
}
このプログラムについてですが、配列の文字列はナル文字\0の記述が必須と聞きました。
しかし、コメントの//putchar(str[cnt+1]);をプログラムに入れると
最後に「フ」?のようなエラーが出て、逆にこのまま実行すると正常に動きます。
なぜこのような事が起きるのでしょうか?
どなたかご回答お願いします。