前回の質問に受け付けるので、お願いします。この質問は気にしないでください。
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int change_letter(char* ptr) { int i=0; i = i + 1; return i; } void main() { char buffer[128]; char* ptr = buffer; int i=0; scanf("%s", buffer); printf("%s\n", ptr); while (*ptr != 0) { i= change_letter(ptr); ptr++; } printf("%d\n", i); } ```自分のコードだと、与えられた文字列を使ってwhile文で次の配列とカウントするようにしていますが。ブレークポイントを用いると関数から受け取った後、整数としてではなく、あり得ない数字が渡り、そのまま1とループしている状態であります。 どうかご協力を願います。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int change_letter(char* ptr) {
int i = 0;
while (ptr[i] != '\0') {
i = i + 1; } return i;
}
void main() {
char buffer[128];
char* ptr = buffer;
int i = 0;
scanf("%s", buffer);
printf("%s\n", ptr);
i = change_letter(ptr);
printf("%d\n", i);
}
回答1件
あなたの回答
tips
プレビュー