#include<stdio.h>
#include<stdlib.h>
int main(void){
int *pseudo_array;
int number, i;
printf("Input a positive integer:");
scanf("%d", &number);
pseudo_array=malloc(number*sizeof(int));
if(pseudo_array==NULL){
printf("Out of Memory\n");
exit(1);
}
for(i=0;i<number;i++){
printf("Input an integer for %d-th element:", i);
scanf("%d", &pseudo_array[i]);
}
printf("Set integers are\n");
for(i=0;i<number;i++){
printf("%d\n", pseudo_array[i]);
}
free(pseudo_array);
return 0;
}
上のプログラムを、「char型を要素に持つ配列のようなもの」を扱うようにし、実行後に入力した文字列を%sで表示できるようにするにはどのようにコードを書き換えれば良いのでしょうか?下のコードは雛形です。
#include<stdio.h>
#include<stdlib.h>
int main(void){
/***何か書く(適切な型)***/ *pseudo_array;
char yomisute;/***読み捨て用***/
int number, i;
printf("Input a positive integer:");
scanf("%d", &number);
scanf("%c", &yomisute);/***改行文字読み捨て***/
/*** 何か書く(領域確保と失敗時の処理) ***/
for(i=0;i<number;i++){
printf("Input a character for %d-th element:", i);
/***何か書く(キーボード入力文字を格納)***/
scanf("%c", &yomisute);/***改行文字読み捨て***/
}
/***何か書く***/
printf("Set string are %s\n", pseudo_array);
/***何か書く(領域解放)***/
return 0;
}
No.1ベストアンサー
- 回答日時:
#include<stdio.h>
#include<stdlib.h>
int main(void){
/***何か書く(適切な型)***/ char *pseudo_array;
char yomisute;/***読み捨て用***/
int number, i;
printf("Input a positive integer:");
scanf("%d", &number);
scanf("%c", &yomisute);/***改行文字読み捨て***/
/*** 何か書く(領域確保と失敗時の処理) ***/
pseudo_array = malloc((number + 1) * sizeof(char));
if (pseudo_array == NULL) {
printf("Out of Memory\n");
return EXIT_FAILURE;
}
for(i=0;i<number;i++){
printf("Input a character for %d-th element:", i);
/***何か書く(キーボード入力文字を格納)***/
scanf("%s", &pseudo_array[i]);
scanf("%c", &yomisute);/***改行文字読み捨て***/
}
/***何か書く***/
pseudo_array[i] = '\0';
printf("Set string are %s\n", pseudo_array);
/***何か書く(領域解放)***/
free(pseudo_array);
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CTRL+Dでループを抜けるには
-
printf で二進表示を行いたい。
-
strcmp
-
テキストカーソル位置の取得
-
三角形の判別
-
コンパイルエラーについて
-
4の倍数を論理演算で表す。。
-
三平方の定理を求めるプログラム
-
printfでSegmentation fault
-
コマンドラインに出力した文字...
-
C言語 じゃんけんswicth case ...
-
アドレスの比較について
-
LU分解法のピボッティングにつ...
-
(C言語)めちゃくちゃな値にな...
-
3つの入力した数値の大小比較...
-
アセンブラでコマンドライン引...
-
switch分のケースを範囲数?に...
-
LU分解法のピボット選択機能実...
-
c言語で2000年以降カレンダーを...
-
10個出力で改行したいのですが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
printf で二進表示を行いたい。
-
【C言語教えてください】sin波...
-
strcmp
-
コンパイルエラーについて
-
c言語でAからZまでを表示する...
-
コマンドラインに出力した文字...
-
cshの文字列操作(0埋め)
-
4の倍数を論理演算で表す。。
-
C言語 プログラミング
-
%P と %X の違い
-
8人分のテストの点数を入力し、...
-
C言語での、年複利の計算方法...
-
printf( " %2d", p * q );
-
hit&bolwのプログラミングがで...
-
scanfに文字が入力されたときに...
-
error C2143: 構文エラー : ';'...
-
printfの出力内の文字をdefine...
-
テキストカーソル位置の取得
-
unsigned int型について
おすすめ情報