基本情報技術者試験 Part106

このエントリーをはてなブックマークに追加
541無(ry
>>538
この問題ではポインタ変数が4バイトだとか
一文字何バイトかと言う事は関係有りません
(ポインタは+1すれば指している対象を一つ進めます,
バイト数で言えばshortが2バイトなら2バイト,longが4バイトなら4バイト進めますが
少なくともこの場合バイト数は問題を解くために必要な知識では有りません)

で肝心の選択肢ですが
ウ cp+1    エ ++cp
のどちらかとで迷うのだろうと思いますが
dpに入る値ならウ,エどちらでも同じですが,cpの指すものを進めなければなりません

例えば今,cp→"abc"の場合
bがcp+1,++cpの場合も両方
dp→"abc"ですが
cp+1の場合 → cp→"abc"
++cpの場合 → cp→abc"
です
cp+1の場合は for ( len = 0; *cp != '\"'; len++, );の条件文で必ず引っかかるため常にlen = 0で
文字列の長さを計る事が出来ません
よって答えは++cpとなります.


蛇足:
私が答えるかは別にして(汗
質問をする事は別に悪い事でもなんでもないですよ
あなたのように問題へのリンクと何が分らないかを書いていただけると助かります.