ポインタを値の交換がしたいのですが上手くいかなくてつまずいています
ポインタの使い方について書かれているおすすめの参考書を教えて頂けるとありがたいです
コードについて助言も頂けると助かります
コード #include <stdio.h> int input_int(int *pd); void swap_int( int *pdata1 , int *pdata2 ); int main(void) { int data1, data2; while (input_int(&data1) != EOF && input_int(&data2) != EOF) { printf("**交換前**\n"); printf("data1 = %d\n", data1); printf("data2 = %d\n", data2); swap_int( &data1 , &data2 ); printf("**交換後**\n"); printf("data1 = %d\n", data1); printf("data2 = %d\n", data2); printf("\n"); } return 0; } void swap_int(int *pdata1 , int *pdata2 ) { int tmp; tmp = *pdata1; *pdata1 = *pdata2; *pdata2 = tmp; printf("Input num : "); return scanf("%d%d", &*pdata1, &*pdata2); }
エラー内容
swpint.c:In function 'swap_int':
swapint.c:48:10: warning:'return'with a value.in function returning void
return scanf("%d%d", &*pdata1, &*pdata2);
swapint.c38:6note: declared here
void swap int(int *pdata, int *pdata2)
がエラーメッセージです
実行イメージは
input num :10
input num :20
**交換前**
data1 = 10
data2 = 20
**交換後**
data1 = 20
data2 = 10
実行できた時の実行イメージです
回答2件
あなたの回答
tips
プレビュー