C言語でポインタ引数を用い、*qに商を、 *rに剰余を求めたい。
dividend(被除数)divisor(除数)
qu (商) re (剰余)
C言語
1#include <stdio.h> 2#include <stdlib.h> 3void quorem(int a, int b, int *q, int *r); 4int main(int argc, char *argv[]) { 5 int dvnd, dvsr; 6 int quo, rem; 7 if (argc<3) { 8 printf("At least 2 arguments required!\n"); 9 exit(-1); 10 } 11 12 dvnd = atoi(argv[1]); 13 dvsr = atoi(argv[2]); 14 quorem(dvnd, dvsr, quo, rem); 15 printf("quotient : %d\n", quo); 16 printf("remainder: %d\n", rem); 17 return 0; 18} 19void quorem(int a, int b, int *q, int *r) { 20 *q = a / b; 21 *r = a % b; 22 return; 23} 24 25/* 以下のエラーが出てしまいます。 */ 26 27ex03.c: In function 'main': 28ex03.c:15:21: warning: passing argument 3 of 'quorem' makes pointer from integer without a cast [-Wint-conversion] 29 quorem(dvnd, dvsr, quo, rem); 30 ^ 31ex03.c:4:6: note: expected 'int *' but argument is of type 'int' 32 void quorem(int a, int b, int *q, int *r); 33 ^ 34x03.c:15:26: warning: passing argument 4 of 'quorem' makes pointer from integer without a cast [-Wint-conversion] 35 quorem(dvnd, dvsr, quo, rem); 36 ^ 37ex03.c:4:6: note: expected 'int *' but argument is of type 'int' 38 void quorem(int a, int b, int *q, int *r);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/28 14:06
2017/11/28 14:13 編集
2017/11/28 14:18