前提・実現したいこと
「入力:」で値x,y,zを入力して、関数の中でx→z、y→x、z→yの値に変更して「出力:」の部分で表示したいです。
発生している問題・エラーメッセージ
【発生している問題】 関数の中の最後のprintfでエラーが出てしまいます。どうすれば、このエラーを解決することができるのか分かりません。 【エラーメッセージ】 kadai5_1.c(26): warning C4477: 'printf' : 書式文字列 '%d' には、型 'int' の引数が必要ですが、可変個引数 1 は型 'int **' です kadai5_1.c(26): warning C4477: 'printf' : 書式文字列 '%d' には、型 'int' の引数が必要ですが、可変個引数 2 は型 'int **' です kadai5_1.c(26): warning C4477: 'printf' : 書式文字列 '%d' には、型 'int' の引数が必要ですが、可変個引数 3 は型 'int **' です
該当のソースコード
C言語
1#include <stdio.h> 2 3void rotate(int *x,int *y,int *z); 4 5int main(void) 6{ 7 int x,y,z; 8 9 printf("3つの整数を入力してください(1マスずつ開けて入力):"); 10 scanf("&d %d %d",&x, &y, &z); 11 12 rotate(&x,&y,&z); 13 14 return 0; 15} 16 17void rotate(int *x,int *y,int *z) 18{ 19 int tmp1=*x; 20 int tmp2=*y; 21 22 *x = *z; 23 *y = tmp1; 24 *z = tmp2; 25 26 printf("出力:%d %d %d",&x, &y, &z); 27 28 29}
試したこと
%pに変更するとアドレスが表示されるので、代入した値が表示されません。
&*xにすると、さらにエラーメッセージが表示されました。
補足情報(FW/ツールのバージョンなど)
サクラエディタ、Windows10を使用しています。
回答2件
あなたの回答
tips
プレビュー