逆序输出一维数组
(1)
void Nixu(int arr[6],int len)
{int tmp;
for(int i=0;i<=len/2;i++)
{
tmp=arr[i];
arr[i]=arr[len-1-i];
arr[len-1-i]=tmp;
}
}
void Show(int*arr,int len)
{
int i;
for(i=0;i<len;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
int main()
{
int arr[5] = {1,2,3,4,5};
int len = sizeof(arr)/sizeof(arr[0]);
Nixu(arr,len);
Show(arr,len);
return 0;
}
(2)
void Nixu(int n)
{
while(n!=0)
{
printf("%d ",n%10);
n/=10;
}
printf("\n");
}
int main()
{
Nixu(12345);
}
(3)函数调用
int Nixu(int n)
{
if(n==0)
{
return 0;
}
else
{
printf("%d ",(n%10));
Nixu(n/=10);
}
}
int main()
{
Nixu(123456);
}
逆序输出字符串
void Nixu(char arr[6],int len)
{
int tmp;
for(int i=0;i<=len/2;i++)
{
tmp=arr[i];
arr[i]=arr[len-1-i];
arr[len-1-i]=tmp;
}
}
void Show(char*arr,int len)
{
int i;
for(i=0;i<len;i++)
{
printf("%c ",arr[i]);
}
printf("\n");
}
int main()
{
char arr[5] = {'a','b','c','d','e'};
int len = sizeof(arr)/sizeof(arr[0]);
Nixu(arr,len);
Show(arr,len);
return 0;
}