への呼び出しの結果maximum(3, 2, 1)
は無視されます (その結果を使用していないため)。最適化コンパイラは、その結果を自由に無視でき、さらには への呼び出しを回避できますmaximum
。
ところでmax3
、そのような関数のより良い名前になると思います。
少なくとも、そのような関数呼び出しの結果を出力する必要があります。だから追加
printf("max is %d\n", maximum(3, 2, 1));
あなたの前return 0;
に(もちろん、ソースコードの最初にmain
必要です)。#include <stdio.h>
printf
初心者向けのヒント:フォーマット文字列は常に改行で終了する\n
か、それfflush(NULL)
以外の方法で呼び出してくださいstdout
。
プログラミング (または C でのプログラミング) に関する資料をもっと読むべきです。コンパイラで警告メッセージを有効にする必要があります。また、デバッガーの使用方法を学ぶ必要があります。Linux を使用している場合は、デバッガーを使用してコンパイルしgcc -Wall -g
、使用方法を学習してください。gdb
したがって、ソースファイルmax3homework.c
が
gcc -Wall -g max3homework.c -o max3hw
コマンドを実行してテストし、実行./max3hw
してデバッグし、gdb max3hw
適切なコマンドをgdb
.