HOME»応用情報技術者試験掲示板»平成26年秋期午後問3
投稿する

平成26年秋期午後問3 [4418]

 たまさん(No.1) 
https://www.ap-siken.com/kakomon/26_aki/pm03.html
「オ」についてなのですが
A,B片方がNULLで片方は値が入っていた場合はelse分でいいと考えたのですが、両方ともNullだった場合代入される意図は何ですか?
2023.08.24 17:54
boyonboyonさん(No.2) 
AP シルバーマイスター
a,bどちらかがnullになると、whileをぬけるので、両方がnullになることはないと思います。
2023.08.24 18:43
 たまさん(No.3) 
返信ありがとうございます、while文の外側なので必ず一度実行する処理ではないのでしょうか?
2023.08.24 18:57
boyonboyonさん(No.4) 
AP シルバーマイスター
どちらかが、nullになり、whileを抜けた後、if文で、残っている方を連結します。
2023.08.24 19:13
 たまさん(No.5) 
1.(a=n,b=n)
2.3.(a=null,b=n)片方がn
4.(a=null,b=null)
nは値が入っているという意味です。
上記の条件網羅使うと
1.はwhile抜けれないので除外
2.3.はどちらもNULLではないのwhile文は抜けれます、その後の「オ」の部分でnullじゃないほうを結合するので理解できます。
4.に関して両方NULLなのでifの判定条件をすることになりIF文に合わなかったとしてもelse文があるのでどちらかはnullを代入することになります。
この4.に関してNULLを代入することになると思います。これが意味のないNULL代入を結果的にしているのがもやもやしております。
2023.08.24 19:40
boyonboyonさん(No.6) 
AP シルバーマイスター
本文に、
>それぞれの要素数が1になるまでデータ列の分割を繰り返し,
とあるので、a=null,b=nullになることはないと思います。
また、
>function merge(a,b) //a,bは、併合対象の連結リストの先頭へのポインタ
です。a=nullかつb=nullは、引数として不適だと思います。
あと、a,bはポインタ変数なので、nなどの値が入っているわけではありません。
ポイントしている場所の値は、この問題では  a->value  と表しています。
a=nullということは、ポイントする場所がないということです。
2023.08.24 22:13
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop