長さがlenの配列dataの要素xと要素yをプロトタイプ宣言を使って書き換えたい
長さがlenの配列dataの要素xと要素yをプロトタイプ宣言を使って書き換えたいのですが関数がうまく書けず、行き詰まっています。
以下のような結果を得たい
12345
12435
発生している問題・エラーメッセージ
なし
該当のソースコード
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void swap(int data[], int len, int x, int y);
int main(void) {
int arr[] = { 1, 2, 3, 4, 5 };
int length = sizeof(arr) / sizeof(int);
for (int i = 0; i < length; i++) {
printf("%d ", arr[i]);
}
puts("");
swap(arr, length, 2, 3);
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
puts("");
return 0;
}
void swap(int data[], int len, int x, int y)
{
int tmp;
tmp = x; x = y; y = tmp;
}
試したこと
様々なサイトのコードを参考にした。
昇順や降順にもできるか試してみたがうまく実行できなかった。
補足情報(FW/ツールのバージョンなど)
Microsoft visual studioを使用しています。
回答1件
あなたの回答
tips
プレビュー