1. 演習 4.4 swap.c の変数 a と b をキーボードから入力するように変更せよ。 #include #include void swap(int *p, int *q); int main(void) { int a,b; printf("Input a:"); scanf("%d", &a); printf("Input b:"); scanf("%d", &b); printf("a = %d, b = %d\n", a, b); swap(&a,&b); printf("a = %d, b = %d\n", a, b); return 0; } void swap(int *p, int *q) { int tmp; tmp = *p; *p = *q; *q = tmp; } 2. 演習 4.5 演習 4.4 を double 型のデータ用に修正せよ。 #include #include void swap(double *p, double *q); int main(void) { double a,b; printf("Input a:"); scanf("%lf", &a); printf("Input b:"); scanf("%lf", &b); printf("a = %f, b = %f\n", a, b); swap(&a,&b); printf("a = %f, b = %f\n", a, b); return 0; } void swap(double *p, double *q) { double tmp; tmp = *p; *p = *q; *q = tmp; } 3. http://www.cis.twcu.ac.jp/~asakawa/comp3a-2008/lesson8.htmlのpointer_array.c に ならって,scanf() を使ってキーボードから文字列を入力し,その結果を printf を使わずに,ポインタ変数を使って出力するプログラムを作れ。 #include #define STR_MAX 1024 int main(void) { char str[STR_MAX], *strPtr; printf("Input a string:"); scanf("%s", str); for (strPtr=str; *strPtr; strPtr++) { putchar(*strPtr); } printf("\n"); return 0; }