質問編集履歴

2

誤字

2020/05/22 09:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -55,61 +55,3 @@
55
55
  自分のコードだと、与えられた文字列を使ってwhile文で次の配列とカウントするようにしていますが。ブレークポイントを用いると関数から受け取った後、整数としてではなく、あり得ない数字が渡り、そのまま1とループしている状態であります。
56
56
 
57
57
  どうかご協力を願います。
58
-
59
-
60
-
61
- ```ここに言語を入力
62
-
63
- #define _CRT_SECURE_NO_WARNINGS
64
-
65
- #include <stdio.h>
66
-
67
- int change_letter(char* ptr) {
68
-
69
- int i = 0;
70
-
71
- while (ptr[i] != '\0') {
72
-
73
-
74
-
75
- i = i + 1;
76
-
77
- }
78
-
79
- return i;
80
-
81
- }
82
-
83
-
84
-
85
- void main() {
86
-
87
- char buffer[128];
88
-
89
- char* ptr = buffer;
90
-
91
- int i=0;
92
-
93
- scanf("%s", buffer);
94
-
95
- printf("%s\n", ptr);
96
-
97
-
98
-
99
-
100
-
101
-
102
-
103
- i=change_letter(ptr);
104
-
105
- printf("%d", i);
106
-
107
-
108
-
109
-
110
-
111
- }
112
-
113
- ```
114
-
115
- 具体的に同じように考えて変更したところこのコードが通り無事実行できるようになりました。しかし、上と今書いたコードの差がいまいちよくわからないです。思い付きで書いたのですが.

1

文法の修正

2020/05/22 09:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,61 @@
55
55
  自分のコードだと、与えられた文字列を使ってwhile文で次の配列とカウントするようにしていますが。ブレークポイントを用いると関数から受け取った後、整数としてではなく、あり得ない数字が渡り、そのまま1とループしている状態であります。
56
56
 
57
57
  どうかご協力を願います。
58
+
59
+
60
+
61
+ ```ここに言語を入力
62
+
63
+ #define _CRT_SECURE_NO_WARNINGS
64
+
65
+ #include <stdio.h>
66
+
67
+ int change_letter(char* ptr) {
68
+
69
+ int i = 0;
70
+
71
+ while (ptr[i] != '\0') {
72
+
73
+
74
+
75
+ i = i + 1;
76
+
77
+ }
78
+
79
+ return i;
80
+
81
+ }
82
+
83
+
84
+
85
+ void main() {
86
+
87
+ char buffer[128];
88
+
89
+ char* ptr = buffer;
90
+
91
+ int i=0;
92
+
93
+ scanf("%s", buffer);
94
+
95
+ printf("%s\n", ptr);
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+ i=change_letter(ptr);
104
+
105
+ printf("%d", i);
106
+
107
+
108
+
109
+
110
+
111
+ }
112
+
113
+ ```
114
+
115
+ 具体的に同じように考えて変更したところこのコードが通り無事実行できるようになりました。しかし、上と今書いたコードの差がいまいちよくわからないです。思い付きで書いたのですが.