2016-11-20 20 views
-2

以前にstructに別の関数で格納されていた名前を表示するにはどうすればよいですか?構造体Cに表示名ストア

例:

typedef struct 
{ 
char name[10]; 
}n; 

void info() 
{ 
    n play; 
    printf("Enter name : "); 
    scanf("%s", &play.name); 
} 

私は '歓迎' 関数に名前を表示するにはどうすればよいですか?

答えて

1

info()関数にn構造体へのポインタを渡して、それを更新します。

void info(n *play) 
{ 
    printf("Enter name : "); 
    scanf("%s", &play->name); 
} 

void welcome(n play) 
{ 
    printf("Hi %s have a nice day!\n", play.name); 
} 

int main(int argc, char *argv[]) 
{ 
    n play; 
    info(&play); 
    welcome(play); 
} 
0

理由あなたがinfo関数内で値を読み、playinfo内で定義されたように、したがって、あなたのwelcome機能で、それは、スコープの外にあるということである。そして、welcome()関数にnがいることを渡します。 infoからnを返して、その値を使用することができます。

関連する問題