请问一下两种函数定义 是不是 不等价呢?

来源:百度知道 编辑:UC知道 时间:2024/06/08 20:40:19
void writelines(char *lineptr[],int nlines)
{
int i;
for (i = 0;i < nlines; i ++)
printf("%s\n",lineptr[i]);
}

char *lineptr[maxlines]
lineptr [] 是个指针数组.
void writelines (char *lineptr[],int nlines)
{
while (nlines-->0)
printf("%s\n",*lineptr++);
}

因为我觉得第一个函数是从前往后打印。后一个函数是从后往前打印,那么这两个函数定义是不是就不等价了?

都是从前往后打印。

后一个是 printf("%s\n",*lineptr++); 这句打印, 明显是从lineptr 原始位置开始往后挪的

至于前面的 nlines-- 这个, 只是个计数,保证打印这句运行的次数不要太多了而已, 通过什么方式计数都不影响打出来的东西的顺序