ページ 1 / 1
puts()について[ポインタ]
Posted: 2012年12月29日(土) 02:31
by putc
コード:
int puts(unsigned char *str)
{
while (*str)
putc(*(str++));
return 0;
}
while (*str)
これはどういう意味ですか?
また手元にある参考書を見ると *a = a[0] のようなことが書かれていますが、
この関数では *str = "Hello World!\n" != str[0] を表しているように思います。
解説をお願いします。
Re: puts()について[ポインタ]
Posted: 2012年12月29日(土) 06:55
by box
putc さんが書きました:コード:
int puts(unsigned char *str)
{
while (*str)
putc(*(str++));
return 0;
}
ポインター str が指している場所 *str が '\0' でない間(つまり、文字列の終端でない間)、
str が指している場所 *str (1文字)を putc() で出力し、その後、str を1つ先へ進める、
ということを行なっています。
str が指している先頭文字から1文字ずつ順繰りに出力しようとしています。
Re: puts()について[ポインタ]
Posted: 2012年12月29日(土) 07:01
by putc
理解できました!
ありがとうございます。
Re: puts()について[ポインタ]
Posted: 2012年12月29日(土) 07:01
by putc
解決