質問編集履歴
3
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -31,6 +31,8 @@
|
|
31
31
|
{
|
32
32
|
|
33
33
|
char FLname[64];
|
34
|
+
|
35
|
+
size_t len;
|
34
36
|
|
35
37
|
|
36
38
|
|
2
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -31,8 +31,6 @@
|
|
31
31
|
{
|
32
32
|
|
33
33
|
char FLname[64];
|
34
|
-
|
35
|
-
size_t len;
|
36
34
|
|
37
35
|
|
38
36
|
|
1
質問の仕方の改善
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
入力した文字列から特定の文字の数を数えるプログラム
|
1
|
+
入力した文字列から特定の文字の数を数えるプログラムで数えてくれない。
|
test
CHANGED
@@ -1,24 +1,22 @@
|
|
1
|
-
入力した文字列から特定の文字の数を数えて
|
1
|
+
入力した文字列から特定の文字の数を数えてプログラムで同じような質問の(https://teratail.com/questions/62066)のベストアンサーを真似て作ったのですがcount_ter1とcouunt_str3の飛んだ先のint a;やint c;が初期化されていないとエラーがでて、=0や=NULLで初期化してみたのですが、文字列中の文字は0文字です。となってしまい一向に数えてくれません。どこがおかしいのでしょうか?
|
2
2
|
|
3
3
|
ーーー追記ーーー
|
4
4
|
|
5
|
-
|
5
|
+
c言語を習ってて出てきた問題の自己応用書いたものです。
|
6
6
|
|
7
|
-
|
7
|
+
ソフトとしてはc++のソフトでcを書いています。
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
ほかプログラム内にコメントで記載
|
12
8
|
|
13
9
|
ーーーーーーーー
|
14
10
|
|
11
|
+
また質問形式がおかしかったらおかしいと言ってくれると嬉しいです。
|
12
|
+
|
15
13
|
### 該当のソースコード
|
16
14
|
|
15
|
+
```
|
17
16
|
|
17
|
+
#include<stdio.h>
|
18
18
|
|
19
|
-
#include<stdio.h>//半角の#にすると質問の所で仕切られてしまうので全角になってる
|
20
|
-
|
21
|
-
|
19
|
+
#include<string.h>
|
22
20
|
|
23
21
|
int count_ter1(const char* FLname, const char* str1);
|
24
22
|
|
@@ -38,23 +36,11 @@
|
|
38
36
|
|
39
37
|
|
40
38
|
|
41
|
-
printf("
|
39
|
+
printf("アルファベットで64文字以内してください->");
|
42
40
|
|
43
41
|
fgets(FLname, sizeof(FLname), stdin);
|
44
42
|
|
45
43
|
FLname[strlen(FLname) - 1] = '\0';
|
46
|
-
|
47
|
-
printf("%sさんですね!\n", FLname);
|
48
|
-
|
49
|
-
printf("\n");
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
len = strlen(FLname);
|
54
|
-
|
55
|
-
printf("あなたの名前は%d文字です\n",len);
|
56
|
-
|
57
|
-
printf("あなたの初期ポイントは%d点です\n", len);
|
58
44
|
|
59
45
|
printf("\n");
|
60
46
|
|
@@ -74,7 +60,7 @@
|
|
74
60
|
|
75
61
|
num_ter1 = count_ter1(FLname, str1);
|
76
62
|
|
77
|
-
printf("%d\n",num_ter1);
|
63
|
+
printf("drは%d文字ありました\n",num_ter1);
|
78
64
|
|
79
65
|
printf("\n");
|
80
66
|
|
@@ -82,35 +68,9 @@
|
|
82
68
|
|
83
69
|
num_ter3 = count_ter3(FLname, str3);
|
84
70
|
|
85
|
-
printf("%d\n", num_ter3);
|
71
|
+
printf("auoは%d文字ありました\n", num_ter3);
|
86
72
|
|
87
73
|
printf("\n");
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
//計算ができない。そもそも点数足してないが・・・笑
|
94
|
-
|
95
|
-
if (len % 6 == 0)
|
96
|
-
|
97
|
-
{
|
98
|
-
|
99
|
-
len* 1.3;
|
100
|
-
|
101
|
-
printf("あなたの名前は6の倍数なので最終ポイントが1.3倍になります\n");
|
102
|
-
|
103
|
-
printf("あなたの最終ポイントは%5.1f点です\n", len);
|
104
|
-
|
105
|
-
}
|
106
|
-
|
107
|
-
else
|
108
|
-
|
109
|
-
{
|
110
|
-
|
111
|
-
printf("あなたの最終ポイントは%d点です\n", len);
|
112
|
-
|
113
|
-
}
|
114
74
|
|
115
75
|
|
116
76
|
|
@@ -132,7 +92,7 @@
|
|
132
92
|
|
133
93
|
{
|
134
94
|
|
135
|
-
if (strchr(str1, a))
|
95
|
+
if (strchr(str1, a))
|
136
96
|
|
137
97
|
{
|
138
98
|
|
@@ -160,9 +120,7 @@
|
|
160
120
|
|
161
121
|
{
|
162
122
|
|
163
|
-
if (strchr(str3, c))
|
123
|
+
if (strchr(str3, c))
|
164
|
-
|
165
|
-
|
166
124
|
|
167
125
|
{
|
168
126
|
|
@@ -176,7 +134,7 @@
|
|
176
134
|
|
177
135
|
}
|
178
136
|
|
179
|
-
|
137
|
+
```
|
180
138
|
|
181
139
|
### 補足情報
|
182
140
|
|