teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

修正

2020/03/02 00:01

投稿

aya0
aya0

スコア16

title CHANGED
File without changes
body CHANGED
@@ -74,7 +74,7 @@
74
74
  #include <ctype.h>
75
75
 
76
76
 
77
- void put_strary2(const char s[][A], int n)
77
+ void put_strary2(char s[][A], int n)
78
78
  {
79
79
  int i, j, l, m;
80
80
  /*-入力-*/

4

修正

2020/03/02 00:01

投稿

aya0
aya0

スコア16

title CHANGED
File without changes
body CHANGED
@@ -69,9 +69,6 @@
69
69
  #define _CRT_SECURE_NO_WARNINGS
70
70
  #define N 128
71
71
  #define A 128
72
- #define _CRT_SECURE_NO_WARNINGS
73
- #define N 128
74
- #define A 128
75
72
  #include <stdio.h>
76
73
  #include <string.h>
77
74
  #include <ctype.h>

3

解決後のコードを追加しました。

2020/02/29 04:14

投稿

aya0
aya0

スコア16

title CHANGED
File without changes
body CHANGED
@@ -61,4 +61,63 @@
61
61
  "$$$$$"を読み込んだ時点で読み込みを中断・終了するところまでは、実行できたのですが、"$$$$$"より前に入力された全文字列を表示することができませんでした。
62
62
  そこで試しに、入力が終了したところでiの値を確認したところ0となっていました。
63
63
  なぜi=0になってしまうのか理由が知りたいです。
64
- 宜しくお願いします。
64
+ 宜しくお願いします。
65
+
66
+ 下記は解決後のプログラムです。
67
+
68
+ ```c
69
+ #define _CRT_SECURE_NO_WARNINGS
70
+ #define N 128
71
+ #define A 128
72
+ #define _CRT_SECURE_NO_WARNINGS
73
+ #define N 128
74
+ #define A 128
75
+ #include <stdio.h>
76
+ #include <string.h>
77
+ #include <ctype.h>
78
+
79
+
80
+ void put_strary2(const char s[][A], int n)
81
+ {
82
+ int i, j, l, m;
83
+ /*-入力-*/
84
+ for (i = 0; i < n; i++) {
85
+
86
+ int j = 0;
87
+ int k = 0;
88
+
89
+ scanf("%s", s[i]);
90
+
91
+ while (k < 5) {
92
+ if (s[i][j] == '$') {
93
+ k++;
94
+ j++;
95
+ }
96
+ else
97
+ break;
98
+ }
99
+
100
+ if (k == 5)
101
+ break;
102
+
103
+ }
104
+ /*-出力-*/
105
+ printf("%d\n", i);
106
+ /*上の行はiに代入されてる値を調べるために追加しました。*/
107
+ for (l = 0; l < i; l++) {
108
+ for (m = 0; s[l][m] != '\0'; m++) {
109
+ printf("%c", s[l][m]);
110
+ }
111
+ putchar('\n');
112
+ }
113
+ }
114
+
115
+
116
+ int main(void)
117
+ {
118
+ char cs[N][A] = { "0" };
119
+ printf("文字列を入力\n");
120
+ put_strary2(cs, N);
121
+
122
+ }
123
+ ```

2

修正

2020/02/29 03:53

投稿

aya0
aya0

スコア16

title CHANGED
File without changes
body CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  int main(void)
54
54
  {
55
- char cs[][A] = { "0" };
55
+ char cs[N][A] = { "0" };
56
56
  printf("文字列を入力\n");
57
57
  put_strary2(cs, N);
58
58
 

1

誤字

2020/02/28 22:53

投稿

aya0
aya0

スコア16

title CHANGED
File without changes
body CHANGED
@@ -60,5 +60,5 @@
60
60
  ```
61
61
  "$$$$$"を読み込んだ時点で読み込みを中断・終了するところまでは、実行できたのですが、"$$$$$"より前に入力された全文字列を表示することができませんでした。
62
62
  そこで試しに、入力が終了したところでiの値を確認したところ0となっていました。
63
- なぜiになってしまうのか理由が知りたいです。
63
+ なぜi=0になってしまうのか理由が知りたいです。
64
64
  宜しくお願いします。