数组一般操作
int arr[10];
//一般赋值
for(int i=0; i<10; i++) {
arr[i] = i;
}
//批量赋相同的值
memset(arr, 0, sizeof(arr));
int a[10],b[10];
//a = b //这是错误的方法
正确的方式:
for(int i=0; i<10; i++) {
a[i] = b[i];
}
数值交换
#include <stdio.h>
#include <stdlib.h>
void swap(int *a, int *b);
int main(int argc, char *argv[])
{
int a=1,b=2;
printf("%d %d\n", a, b);
a = a^b;
b = a^b;
a = a^b;
printf("common:%d %d\n", a, b);
swap(&a, &b);
printf("swap:%d %d\n", a, b);
int arr[2] = {3, 4};
printf("before:%d %d\n", arr[0], arr[1]);
swap(arr[0], arr[1]);
printf("after:%d %d\n", arr[0], arr[1]);
return 0;
}
void swap(int *a, int *b)
{
//*a = (*a) ^ (*b);
//*b = (*a) ^ (*b);
//*a = (*a) ^ (*b);
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
网友评论