c语言 写函数实现数组的反转 要求用指针 可运行
答案:2 悬赏:0 手机版
解决时间 2021-01-26 01:39
- 提问者网友:温旧梦泪无声
- 2021-01-25 17:06
c语言 写函数实现数组的反转 要求用指针 可运行
最佳答案
- 五星知识达人网友:西风乍起
- 2021-01-25 17:43
#include<stdio.h>
void reverse_string(char *string)
{
char*last;
for (last = string; *last != '\0'; last++);
last--;
while (string < last)
{
char temp;
temp = *string;
*string++ = *last;
*last-- = temp;
}
}
void main()
{
char string[] = "abcdef";
printf("%s\n", string);
reverse_string(string);
printf("%s\n", string);
system("pause");
}
void reverse_string(char *string)
{
char*last;
for (last = string; *last != '\0'; last++);
last--;
while (string < last)
{
char temp;
temp = *string;
*string++ = *last;
*last-- = temp;
}
}
void main()
{
char string[] = "abcdef";
printf("%s\n", string);
reverse_string(string);
printf("%s\n", string);
system("pause");
}
全部回答
- 1楼网友:一叶十三刺
- 2021-01-25 18:11
直接用a[i][j]最简单,注意s必须每次置零。
非要用指针的话,应该用一个指向数组的指针,而不是一个装了指针的数组;
#include
void fun(int a[3][4])
{
int (*p)[4],i,j;
float ave,s;
for(i=0;i<3;i++)
{
p=&a[i];
s=0;
for(j=0;j<4;j++)
s+=(*p)[j];
ave=s/4;
printf("第%d行元素的平均值为%f\n",i,ave);
}
}
int main()
{
int a[3][4],i,j;
printf("请输入二维数组\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
fun(a);
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯