Report#4

戻る

JavaアプリケーションとC言語のオリジナル問題作成と解答例

問題

 文字列"FINAL fantasy"をchar型の配列として扱い、"FINAL fantasy"という文字列とその1文字1文字を出力するプログ
ラムを、javaとC言語で作成せよ。

java

プログラムre04.java
01. public class re04 { 02. public static void main(String[] argv){ 03. char ff[] = {'F','I','N','A','L',' ','f','a','n','t','a','s','y'}; 04. int number = 0; 05. System.out.print("ff[]= "); 06. for(number=0; number < 12; number++){ 07. System.out.print(ff[number]); 08. } 09. System.out.println(ff[12]); 10. for(number=0; number < 13; number++){ 11. System.out.println("ff[" + number + "]= " + ff[number]); 12. } 13. } 14. }
実行結果
ff[]= FINAL fantasy ff[0]= F ff[1]= I ff[2]= N ff[3]= A ff[4]= L ff[5]= ff[6]= f ff[7]= a ff[8]= n ff[9]= t ff[10]= a ff[11]= s ff[12]= y

C言語

プログラムre04.c
01. #include 02. 03. int main(){ 04. char ff[14]={"FINAL fantasy"}; 05. int number=0; 06. printf("ff[]= %s\n",ff); 07. for(number=0; number<13; number++){ 08. printf("ff[%d]= %c\n", number,ff[number]); 09. } 10. return(0); 11. }
実行結果
ff[]= FINAL fantasy ff[0]= F ff[1]= I ff[2]= N ff[3]= A ff[4]= L ff[5]= ff[6]= f ff[7]= a ff[8]= n ff[9]= t ff[10]= a ff[11]= s ff[12]= y
 上にあるjavaのプログラムとC言語のプログラムを見比べればわかるが、char型の配列の扱い方がそれぞれ違う。これは、C言語
にあってjavaにはないポインターというものが理由だと思われる。