创建一个整型数组,完成对数组的操作
1.实现函数init()初始化数组为全0
2.实现print()打印数组的每个院
3.实现reverse()函数完成数组元素的逆置。
要求:自己设计以上函数的参数,返回值
void Init(int arr[],int sz)
{
int i=0;
for(i=0;i<sz;i++){
arr[i]=0;
}
}
void Print(int arr[],int sz){
int i=0;
for(i=0;i<sz;i++){
printf("%d",arr[9]);
}
}
int main(){
int arr[10]={0};
int sz=sizeof(arr)/sizeof(arr[0]);
Init(arr,sz);//把数组初始化0
Print(arr,sz);
return 0;
}
void Init(int arr[],int sz)
{
int i=0;
for(i=0;i<sz;i++){
arr[i]=0;
}
}
void Print(int arr[],int sz){
int i=0;
for(i=0;i<sz;i++){
printf("%d ",arr[i]);
}
}
void Reverse(int arr[],int sz)
{
int left=0;
int right=sz-1;
while(left<right){
int tmp=arr[left];
arr[left]=arr[right];
arr[right]=tmp;
left++;
right--;
}
}
int main(){
int arr[10]={1,2,3,4,5,6,7,8,9,10};
int sz=sizeof(arr)/sizeof(arr[0]);
//Init(arr,sz);//把数组初始化0
Reverse(arr,sz);
Print(arr,sz);
return 0;
}
将数组A的内容和数组B中的内容进行交换。(数组一样大)
#include <stdio.h>
int main(){
int arr1[]={1,3,5,7,9};
int arr2[]={2,4,6,8,0};
int tmp=0;
int i=0;
int sz=sizeof(arr1)/sizeof(arr1[0]);
for(i=0;i<sz;i++){
tmp=arr1[i];
arr1[i]=arr2[i];
arr2[i]=tmp;
}
printf("%d%d
",arr1[sz-1],arr2[sz-1]);
return 0;
}
int main(){
int arr[]={1,2,3,4,5};
short *p=(short*)arr;
int i=0;
for(i=0;i<4;i++){
*(p+i)=0;
}
for(i=0;i<5;i++){
printf("%d ",arr[i]);
}
return 0;
}
#include<stdio.h>
int main(){
int a=0x11223344;
char *pc=(char*)&a;
*pc=0;
printf("%x\n",a);
return 0;
}
int i;//全局变量不初始化-默认是0
int main(){
i--;
if(i>sizeof(i)){//sizeof()-计算变量/类型所占内存大小>=0无符号数
printf(">\n");
}
else
{
printf("<\n");
}
return 0;
}
结果是>
读代码看看结果适是多少?
int main(){
int a,b,c;
a=5;
c=++a;
b=++c,c++,++a,a++;
b+=a++ +c;
printf("a=%d b=%d c=%d\n",a,b,c);
return 0;
}