이 코드를 작성하여 숫자에 숫자가 몇 개 있는지 확인했습니다. 나는 사용자가 4 자릿수를 넘지 않는 숫자를 사용한다고 가정하고있다. 어떤 이유로 든 코드에서 if 문을 건너 뜁니다. 이 문제와 관련된 다른 질문을 확인했지만 동일한 오류가 없습니다. 나 좀 도와 줄 수있어? 당신이이 코드 조각에서 무슨 일이 일어나고 있는지 알고있는 경우문이 무시되는 경우 (C++)
#include "stdafx.h"
int main()
{
char d1;
char d2;
char d3;
char d4;
printf("Please enter a number with four or less digits:");
scanf("%c%c%c%c", &d1, &d2, &d3, &d4);
printf("%c%c%c%c\n", d1, d2, d3, d4);
int d1v2 = d1;
int d2v2 = d2;
int d3v2 = d3;
int d4v2 = d4;
printf("%c%c%c%c\n", d1v2, d2v2, d3v2, d4v2);
int num = (d1v2 * 1000) + (d2v2 * 100) + (d3v2 * 10) + d4v2;
printf("%d", num);
int numv2 = num;
if (numv2 < 10) {
printf("Your number has 1 digit\n");
}
else if (numv2 >= 10 && numv2 < 100) {
printf("Your number has 2 digits\n");
}
else if (numv2 >= 100 && numv2 < 1000) {
printf("Your number has 3 digits\n");
}
else if (numv2 >= 1000 && numv2 < 10000) {
printf("Your number has 4 digits\n");
}
}
디버거에서 무엇을 보여 줍니까? –
'numv2'를 출력하고 그것이 기대 한 것이 맞는지 확인하십시오. – NathanOliver
왜 변수 이름에 숫자가 너무 많습니까? –