如何从函数中返回字符串C
问题描述:
#include <stdio.h>
#include <stdlib.h>
char pointer();
void main() {
char*name = "Paz Leviim", **p_name = &name;
*p_name = pointer();
printf("Now it's %s", *p_name);
getchar();
}
char pointer() {
char name_to_main[100];
printf("The value now is Paz Leviim\nPlease set value:");
scanf_s("%[^\n]%*c", &name_to_main,100);
return name_to_main;
}
如何将变量name_to_main的值返回给指针* p_name?如何从函数中返回字符串C
答
#include <stdio.h>
#include <stdlib.h>
char*pointer(char*now);
void main() {
char*name = "Paz Leviim", **p_name = &name;
*p_name = pointer(*p_name);
printf("Now it's %s", *p_name);
getchar();
}
char*pointer(char*now) {
static char name_to_main[100];
printf("The value now is %s\nPlease set value:",now);
scanf_s("%[^\n]%*c", &name_to_main,100);
return name_to_main;
}
现在所有的工作:)
传递数组(和它的大小)为* *参数的功能,让它填补阵列英寸 –
char!= char *,main()应该返回int,而不是void。 – wildplasser
你不能。在'main()'中定义'name_to_main []'并作为参数传递,或者使用'malloc()'在'pointer()'中分配存储空间。并考虑函数'pointer()'的更有意义的名称。 –