【发布时间】:2021-02-15 14:52:01
【问题描述】:
为什么renverser 函数(反向)不能完成这项工作,为什么程序在初始化表后立即退出?
#include <stdio.h>
#include <stdlib.h>
void renverser(int t[])
{ int j,i,n;
for(i=0,j=n-1;i<j;i++,j--)
{
int a=t[i];
t[i]=t[j];
t[i]=a;
}
for (i=0;i<n;i++)
{
printf("%d",t[i]);
}
}
int main()
{ int i,n;
float t[100];
printf("donner le taille du tableau a renverser \n :");
scanf("%d",&n);
for (i=0;i<n;i++)
{ printf("donner l'element %d: \n",i);
scanf("%d",&t[i]);
}
renverser(t);
return 0;
}
【问题讨论】:
-
for(i=0,j=n-1;i<j;i++,j--)- 因为n在那个时间点没有定义的值。renverser中的n与main中的n不同。您需要删除renverser中的那个,并将其作为附加参数从main传递给您的函数。 -
调试是您学习编码时需要开发的一项关键技能。阅读this article 获取帮助您入门的提示。
标签: arrays c reverse function-definition