a = 10; b=13; wa = a + b ; ( 23 ) +--------------------+ +-----------|-----------------+ ^ +------|------------|-------------+ ^ | v v v ^ | | printf ( "%dと、%dの和は%dです。\n", a, b, wa ); => 10と、13の和は23です。 // sample-003 char msg[] --> char *msg; ( これまでは、文字列を表す.. ) print_string_with_one_int ( "a%c", 123 ); => a123c +----+ | 'a' | -> a +----+ | '%' | -> 123 +----+ | 'c' | -> c +----+ | '\0' | -> 終り +----+ // sample-004 print_string_with_ints ( char *a, int b, ... ) 関数呼び出し print_string_with_ints ( "abc", 1, 2, 3 ); +-------+ | "abc" | a +-------+ +-------+ pvalue | 1 | b == *(&b) == *(&b + 0) == (&b)[0] <---- +-- * | &b +-------+ +-------+ | 2 | == *(&b+1) <------------+ +-------+ | 3 | == *(&b+2) +-------+ switch ( 式 ) { if ( 式 == 定数値1 ) { case 定数値1: 文並び1 文並び1 } else { break; if ( 式 == 定数値2 ) { case 定数値2: 文並び2 文並び2 } else { break; ... .. } else { default: 文並びk 文並びk break; }} .. } } == typedef struct { int x; int y; } Point2D; // 自分で新しい型を作った main() { Point2D pt = { 1,2 }; printf ( "???", pt ); // -->できない ( printf は Point2D をしらないから.. ) } == printf と scanf int i = 12345; printf ( "%d", i ) ; // => 12345(出力文字列) scanf ( "%d", &i ) ; // <= 12345(入力文字列) ---> i に 12345(数値) が入る double d = 12.345; printf ( "%lf", d ) ; // => 12.345(出力文字列) scanf ( "%lf", &d ) ; // <= 12.345(入力文字列) ---> d に 12.345(数値) が入る printf ( "a=%d", i ) ; // => a=12345(出力文字列) scanf ( "a=%d", &i ) ; // <= a=12345(入力文字列) ---> i に 12345(数値) が入る scanf ( "%d", &i ) ; // <= a=12345(入力文字列) ---> i に 0(数値) が入る scanf ( "a=%d", &i ) ; // <= 12345(入力文字列) ---> i に 何が入るか解らない !! なので通常は printf の時 -> 前後に説明の文字列をいれて、書式は "abc%dxyx" のように使う printf ( "a=%d", i ) ; // => a=12345(出力文字列) scanf の時は -> 数値のみを入力し、書式は "%d" のように数値の部分だけを記述する int i; printf ( "a=%d", i ) ; // => a=12345(出力文字列) scanf ( "%d", &i ) ; // => 12345(入力文字列) double d; printf ( "a=%lf", d ) ; // => a=12.345(出力文字列) scanf ( "%lf", &d ) ; // => 12.345(入力文字列) char s[10] = "abc"; printf ( "a=%s", s ) ; // => a=abc(出力文字列) scanf ( "%s", s ) ; // <= abc(入力文字列) // s の前には & がつかない scanf ( "%s", &s[0] ) ; // <= abc(入力文字列) // 最近の C 言語では &s とかいても s と同じになる