【发布时间】:2020-03-22 06:35:07
【问题描述】:
任务是传递给定字符串的反向字符串并在函数中打印。
当我尝试这样做时,代码正在打印实际字符串而不是反向字符串。
#include<stdio.h>
#include<string.h>
void function(char*);
int main()
{
char x[]="Hello";
printf("\nPassing: %s\n",x);
function(x);
printf("\nPassing: %s\n",strrev(x));
function(strrev(x));
}
void function(char mainstr[])
{
printf(" >Recieved mainstr=%s",mainstr);
}
以上代码的输出为:
Passing: Hello
>Recieved mainstr=Hello
Passing: olleH
>Recieved mainstr=Hello
这段代码有什么错误。谁能详细说明一下,谢谢。
【问题讨论】:
-
strrev()将字符串反转到位。因此,您在第二个函数中收到"olleH"的反向字符串是正常的,即"Hello"
标签: c arrays string function reverse