以下のプログラムを実行したときに、その出力は、のようになります。さて、このU1,U2,U3,V1,V2,V3,W1,W2,W3に入る値はそれぞれどのようになるのでしょうか?main.i = 0, test0.k = U1, test1.k = V1, test2.k = W1 main.i = 1, test0.k = U2, test1.k = V2, test2.k = W2 main.i = 2, test0.k = U3, test1.k = V3, test2.k = W3
- (a)プログラムリスト
#include <stdio.h> void test0( void ); void test1( void ); void test2( void ); int main( void ) { int i; for(i = 0; i < 3; ++i){ printf("main.i = %d, ",i); test0(); test1(); test2(); } } void test0(void) { int k = 1; printf("test0.k = %d, ",k); k++; } void test1(void) { static int k = 1; printf("test1.k = %d, ",k); k++; } void test2(void) { static int k; k = 1; printf("test2.k = %d\n",k); k++; }
- (b)結果
U1 = 1, V1 = 1, W1 = 1 U2 = 1, V2 = 2, W2 = 1 U3 = 1, V3 = 3, W3 = 1