C/C++の宿題を片付けます 64代目
■ このスレッドは過去ログ倉庫に格納されています
0071デフォルトの名無しさん
2006/05/01(月) 10:55:17int a[] = {1,2,3,4,5,6,7}, i;
// 配列aの最初の位置をポインタpに保存
int* p = a;
// 配列aの最後の要素の位置をポインタqに保存
// 最初の位置+配列の要素の個数−1
int* q = a + sizeof(a) / sizeof(a[0]) - 1;
// ポインタpとqがぶつかるまで繰り返す
while (p != q) {
// ポインタpが指す値をtに一時保存しておく
int t = *p;
// ポインタqが指す値をpが指す配列要素に代入、pを1進める
*p++ = *q;
// tの値をポインタqが指す要素に代入し、qを1戻す
*q-- = t;
}
for (i = 0; i < 7; i++){
printf("%d", a[i]);
}
■ このスレッドは過去ログ倉庫に格納されています