[2352] ! isalnum(ch);
投稿者:トト
2024/01/08 21:24:11
はじめまして。
c言語を学んでいる者です。
入門学習サイト内で『c言語ポインタ完全制覇』を紹介されていたので、併せて学んでいます。
5章「連結リスト版」では苦戦しましたが、新たなポインタの利用法を知ることができました。
只今、理解を深めるため再度、頭から読み進めています。
理解できてない箇所がいくつかあり自力で解決できず投稿しました。
<< 質問 >>
1-4-6「関数の因数として配列を渡す(つもり)」
List 1-10 get_word.c内の
11行目 while((ch=getc(fp))!= && !isalnum(ch));で
/*空白文字の読み飛ばし*/が出来る仕組みが理解できずに苦戦しています。
大変恐縮ですが解釈の仕方を教えて頂けたら幸いです。
上記の!isalnum(ch)が(真)の為、20行目のbuf[len]=ch;には
入力(stdin)時に文字以外の記号などがあれば格納されしまうと思うのです。
しかし、buf[len]=ch;には単語の最初の文字が格納され、
結果、プログラムの意図どおり単語のみが表示されます。
このようなレベルですみません。