質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

2回答

1661閲覧

急:エラーメッセージの解消

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2021/05/24 09:16

前提・実現したいこと

エラーメッセージの解消

テキストアドベンチャーな機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

エラーメッセージ

1>c:\users\81906\source\repos\練習問題07\source.cpp(29): warning C4473: 'printf': 書式文字列として渡された引数が不足しています
1>c:\users\81906\source\repos\練習問題07\source.cpp(29): note: プレースホルダーとそのパラメーターには 1 の可変個引数が必要ですが、0 が指定されています。
1>c:\users\81906\source\repos\練習問題07\source.cpp(29): note: 不足している可変個引数 1 が書式文字列 '%s' に必要です
1>c:\users\81906\source\repos\練習問題07\source.cpp(30): warning C4477: 'printf' : 書式文字列 '%S' には、型 'wchar_t *' の引数が必要ですが、可変個引数 1 は型 'char *' です
1>c:\users\81906\source\repos\練習問題07\source.cpp(30): note: 書式文字列に '%hS' を使用することをお勧めします
1>c:\users\81906\source\repos\練習問題07\source.cpp(30): note: 書式文字列に '%TS' を使用することをお勧めします
1>c:\users\81906\source\repos\練習問題07\source.cpp(41): warning C4566: ユニバーサル文字名 '\u203C' によって表示されている文字は、現在のコード ページ (932) で表示できません
1>c:\users\81906\source\repos\練習問題07\source.cpp(42): warning C4566: ユニバーサル文字名 '\u203C' によって表示されている文字は、現在のコード ページ (932) で表示できません
1>c:\users\81906\source\repos\練習問題07\source.cpp(15): warning C4101: 'select': ローカル変数は 1 度も使われていません。
1>練習問題07.vcxproj -> C:\Users\81906\source\repos\Debug\練習問題07.exe
1>プロジェクト "練習問題07.vcxproj" のビルドが終了しました。
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========

該当のソースコード

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
char player[300];//プレイヤーの名前を入力してね
int select;//選択肢入力用
//
//オープニング
//
system("cls"); //画面クリア

printf("************************\n"); printf("*テキストアドベンチャー*\n"); printf("***********************\n\n"); printf("名前を入力してね\n"); (void)scanf("%s", player); printf("異世界転移はじまるよー!\n"); printf("異世界に飛ばされた%sは、元の世界に帰るための方法を探しています\n" ); printf("魔王が秘密を握っていることを知った%Sは勇者となり懲らしめることにした\n", player); printf("画面が止まったら[Enter]キーを押してね\n"); rewind(stdin); (void)getchar(); // //シーン1:最終決戦 // system("cls"); //画面クリア printf("あいつ……裏切りやがった‼ \n"); printf("ゆるせません‼ \n"); printf("どうやら%s達は魔王との決戦前に仲間割れをしてしまったようだ\n"); rewind(stdin); (void)getchar(); printf(" \n"); printf("***********************\n"); return 0;
ソースコード

補足情報(FW/ツールのバージョンなど)

シナリオは書き途中です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

エラーメッセージを読みましょうよ。
そこに書いてあるとおりです

printf("異世界に飛ばされた%sは、元の世界に帰るための方法を探しています\n" );

この、%sに対応する引数がありません

投稿2021/05/24 09:18

y_waiwai

総合スコア88040

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

あとWindowsプログラムについて質問なんですがを参考に「マルチバイト文字セット」に変更しないとちゃんと動作しないと思います。

投稿2021/05/24 09:23

can110

総合スコア38341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問