#include <stdio.h>
void read_string(char prompt[], char returned[], int MAX)
{
fputs(prompt, stdout);
fflush(stdin);
fgets(returned, MAX, stdin);
}
main()
{
char string[0][10];
read_string("String you want to return ", string[0], sizeof string[0]);
printf("The returned string is %s",string[0]);
fflush(stdin);
getchar();
}
这段代码来自我做的一个练习(修改),只是表明我不能很好理解的代码行。它假设在循环中返回各种字符串,因此我只是声明了 STRING [0] [100],因为它只是一个示例。
好吧,我知道变量“string”像这个string =返回一样进入函数然后从键盘(fgets)获取字符串后它如何返回main(),我的意思是它真的返回并隐式执行此操作? 返回=字符串
编译器在编译时也会给我这个消息(虽然它在运行时确实返回了一个字符串)
[警告] 不推荐将字符串常量转换为 'char*' [-Wwrite-strings]
我是学习函数及其结构的新手,我还没有看到指针,但是从我目前所读的内容来看,您需要指针来返回字符串。请原谅任何严重的错误及其编写不佳的代码,我非常感谢有关解决此问题的任何指导。
这里的问题主要是关于字符串如何返回,而不需要使用return,我的意思是字符串被保存在名为“returned”的变量中,但它如何摆脱它,并回到 main 中。