C++ド初心者がC++をやってみる奴

C++について気づいたことや学んだことをつらつらと

文字列と配列で、つまずいた点


文字列と配列で、文字を表示する処理です。

#include<stdio.h>

void main() {
	/*
	配列の初期化
	*/
	char t[30];//char型の変数

	/*
	文字の入力
	*/
	printf("文字を入力:");
	scanf_s("%30s", t, 30);

	/*
	入力した文字の表示
	*/
	printf("¥n");
	printf("%s¥n", t);
}


char型の配列変数tを宣言します。
配列のサイズは30です。

#include<stdio.h>

void main() {
	/*
	配列の初期化
	*/
	char t[30];//char型の変数


scanf_sで文字入力を行います。

	/*
	文字の入力
	*/
	printf("文字を入力:");
	scanf_s("%30s", t, 30);


入力した文字を表示します。

	/*
	入力した文字の表示
	*/
	printf("¥n");
	printf("%s¥n", t);
}


実行結果は以下のようになります。
MyNameIsDANTEと入力してみました。
f:id:Free_Gamer:20210317223719p:plain


ちなみにscanf_sの部分を以下のように変えて実行すると・・・

	/*
	文字の入力
	*/
	printf("文字を入力:");
	scanf_s("%30s", t);


以下のようにエラーが出ます。
f:id:Free_Gamer:20210317224733p:plain


tの後ろに、配列のサイズを入れてないとエラーが出てしまうようです。
scanf_s("%30",t)ではなく、scanf_s("%30s",t,30)とすればエラーが出ません。

scanf_sでの注意点は、以下のサイトを見てみるといいです。
qiita.com


終わりー


それではまたー^^ノシ