gpt4 book ai didi

c - 如何将数组作为参数传递给函数?

转载 作者:太空宇宙 更新时间:2023-11-04 05:52:51 26 4
gpt4 key购买 nike

我已阅读帖子 here在同一主题上,但它似乎无法解决我的问题。

如果我需要编写一个函数 str_reverse() 来反转传递给它的任何字符串,我该怎么做呢?正如问我上面链接问题的人,下面的代码

#include <stdio.h>
#include <string.h> //for strlen

#define maxL 300 //Max String Length

void str_reverse(char);

int main(){

//Variables
char x[maxL];

//User Prompt
printf("Enter a string no longer than %d characters: ", maxL);
gets(x);
str_reverse(x);

//Return Statement
return 0;
}

void str_reverse(char x){
int i, l;
l = strlen(x);
printf("In reverse: ");
for(i=l-1; i>=0; i--)
printf("%c",x[i]);
}

给我一​​个错误。如何创建一个允许我反转字符串的程序?

最佳答案

您通过的很好,但函数没有正确接收。将其更改为:

void str_reverse(char *x){
..
}

和原型(prototype):

void str_reverse(char*);

另外,gets() 是危险的,永远不要使用。使用 fgets() 代替:

if( fgets(x, sizeof x, stdin) == NULL) { /* failure */ }

x[strcspn(x,"\n")] = 0; // to remove the trailing newline, if any.

关于c - 如何将数组作为参数传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35113447/

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