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

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

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

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

Q&A

解決済

2回答

606閲覧

文字列の扱い方がわからない

Ballon

総合スコア3

C

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

0グッド

0クリップ

投稿2020/05/20 06:52

編集2020/05/20 07:02

#include <stdio.h>
int main(void)

void Level_Name(char number,char number_name[]);

{
char level=1;
char level_name[]={0};

Level_Name(level,level_name[]);
printf("%s",level_name[]);
return 0;
}

void Level_name(char number,char number_name[])
{
switch(number)
{
case 0:
number_name[]="fatal";
break;

case 1:
number_name[]="critical";
break;

default:
break;
}
}

間違ったコードなのですがすみません。
なにをしたいかというと
関数の引数の一つ目は関数内のswitch文の判定するための数値で
その条件であっていた文字列を2つ目の引数に入れるようにしたいと
思っていましたが。この方法であっているのでしょうか?
そして文字列を入れるための配列の宣言も曖昧な部分が多いので
そこの指摘もできればお願いします。
自分もどのような言葉で質問すればいいのか曖昧ですみません
回答お願いします。

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

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

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

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

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

Ballon

2020/05/20 07:01

解決はしたのですが 問題とやや違っていたのと 改めて質問の内容が明確になったので質問しました
Zuishin

2020/05/20 07:03

fana さんの回答のソースコードを読んでみてください。この疑問の解決法がそのまま書いてあるように見えます。もしこれで解決しないのであれば、何が意図と違うのかを明確にしてください。
Ballon

2020/05/20 07:12

自分がしたいと思っていたことは配列に判定で出た文字列の結果をいれるようにしたいと思っていました。 それか確認を間違えていたらすみません
Zuishin

2020/05/20 07:15

そのようになっていますね。 > //引数bの値に対応した文字列を pBuffが指す領域に入れる.
Ballon

2020/05/20 07:19

改めて確認すると結果が出ました。すみません
guest

回答2

0

ベストアンサー

C

1// VC++ : C3861 抑止 2#define _CRT_SECURE_NO_WARNINGS 3 4#include <stdio.h> 5#include <string.h> 6 7void Level_name(char number, char* number_name); 8 9int main(void) { 10 char level = 1; 11 char level_name[20]; // 十分な領域を用意すべし 12 Level_name(level, level_name); 13 printf("%s\n", level_name); 14 return 0; 15} 16 17void Level_name(char number, char* number_name) { 18 switch (number) { 19 case 0: 20 strcpy(number_name, "fatal"); 21 break; 22 case 1: 23 strcpy(number_name, "critical"); 24 break; 25 default: 26 break; 27 } 28}

投稿2020/05/20 07:02

episteme

総合スコア16612

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

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

Ballon

2020/05/20 07:05

コードありがとうございます。
guest

0

C

1int main(void) 2 3void Level_Name(char number,char number_name[]);

まず、この時点で解釈不能です。

投稿2020/05/20 06:57

maisumakun

総合スコア146018

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

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

Ballon

2020/05/20 07:02

改めてコードを書き直しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問