戻り値、値渡し、void関数、プロトタイプ宣言の理解度を確認しましょう。
int add(int a, int b) { return a + b; } int main(void) { printf("%d\n", add(3, 7)); return 0; }
add(3, 7) は a=3, b=7 を受け取り、3 + 7 = 10 を返します。void change(int x) { x = 100; } int main(void) { int a = 5; change(a); printf("a = %d\n", a); return 0; }
void greet(void) { printf("Hello!\n"); return 1; }
void 関数は値を返せません。return 1; はコンパイルエラーになります。return;(値なし)のみ許可されます。#include <stdio.h> int main(void) { printf("%d\n", square(5)); return 0; } int square(int n) { return n * n; }
square 関数が main より後に定義されています。int square(int n); と宣言するか、関数を main より前に置く。