C言語 サブ関数 文字列

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
TAKOKO

C言語 サブ関数 文字列

#1

投稿記事 by TAKOKO » 1年前

サブ関数で名前を入力させてメイン関数の方で使いたいのですがよく分かりません。
似たようなことintではできましたが文字列が分かりません、アドバイスお願いします。

コード:

int main(void)
{
	char name[16] = "";
	char* p_name = NULL;
	input_name(name,&p_name);
	printf("%s", name);
	return 0;
}
void input_name(char name, char* p_name)
{
	printf("名を入力してください\n");
	scanf("%s", &name);
	*p_playname = name;
}

アバター
あたっしゅ
記事: 664
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: C言語 サブ関数 文字列

#2

投稿記事 by あたっしゅ » 1年前

東上☆海美☆「

コード:

/******************************************************************************
Welcome to GDB Online.
  GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby, 
  C#, OCaml, VB, Perl, Swift, Prolog, Javascript, Pascal, COBOL, HTML, CSS, JS
  Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
#include <stdio.h>


extern char* input_name( char* p_name );


int main(void)
{
	char name[16] = "";
	char* p_name = name;

	printf("%s\n", input_name( name ) );

	return 0;
}


char* input_name( char* p_name )
{
	printf("名を入力してください\n");
	scanf("%s", p_name);
	
	return p_name;
}


// end.
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

アバター
あたっしゅ
記事: 664
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: C言語 サブ関数 文字列

#3

投稿記事 by あたっしゅ » 1年前

東上☆海美☆「
なんか、注釈のせいか、色分けされてないので、もう一度

コード:

#include <stdio.h>


extern char* input_name( char* p_name );


int main(void)
{
	char name[16] = "";
	char* p_name = name;

	printf("%s\n", input_name( name ) );

	return 0;
}


char* input_name( char* p_name )
{
	printf("名を入力してください\n");
	scanf("%s", p_name);
	
	return p_name;
}


// end.
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: C言語 サブ関数 文字列

#4

投稿記事 by みけCAT » 1年前

引数に変数のポインタを渡してデータを格納させるバージョンです。

コード:

#include <stdio.h>
#include <stdlib.h>

void read_string(char** p_str);

int main(void)
{
	char *p_name = NULL;
	read_string(&p_name);
	if (p_name == NULL) return 1;
	printf("%s\n", p_name);
	free(p_name);
	return 0;
}

void read_string(char** p_str)
{
	*p_str = calloc(16, 1);
	if (p_str == NULL) return;
	scanf("%15s", *p_str);
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

返信

“C言語何でも質問掲示板” へ戻る