gpt4 book ai didi

c - C 中的反转字符串函数?

转载 作者:行者123 更新时间:2023-11-30 20:12:53 26 4
gpt4 key购买 nike

这是我尝试测试的 C 源代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

main()
{
char c[81];

gets(c);

str_inv(c);

puts(c);

}

void str_inv(char *s[])
{
int i, j;
char *temp;

temp=calloc(1 ,strlen(s)*sizeof(char));

if(temp==NULL)
{
fprintf(stderr, "Error: Memory not allocated.");
exit(1);
}

for(i=0, j=strlen(s)-1; i<strlen(s); i++, j--)
{
temp[i]=s[j];
}

for(i=0; i<strlen(s); i++)
{
s[i]=temp[i];
}

free(temp);
}

程序的输出如下所示:

**abc**


**Process returned 0 (0x0) execution time : 2.262 s**
**Press any key to continue.**

函数 str_inv 中的代码在 main() 函数中工作正常,但在单独的函数中则不然。

功能有什么问题?

最佳答案

char *s[] 是指向 char

的指针数组

char s[]char

的数组

将函数更改为

void str_inv(char s[])
<小时/>

作为旁注。 gets() 已弃用,请不要使用它。使用fgets()相反。

关于c - C 中的反转字符串函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33801143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com