2017-11-25 99 views
-1
#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

+1

传递数组(和它的大小)为* *参数的功能,让它填补阵列英寸 –

+3

char!= char *,main()应该返回int,而不是void。 – wildplasser

+1

你不能。在'main()'中定义'name_to_main []'并作为参数传递,或者使用'malloc()'在'pointer()'中分配存储空间。并考虑函数'pointer()'的更有意义的名称。 –

回答

0
#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; 
} 

现在所有的工作:)