0
먼저 무엇이 작동하는지 보여 주겠다. 나는 작동하지 않는 것을 보여줄 것이다. 이 코드는 올바른 결과를 제공합니다.PIC18의 사용자로부터 배열 값 가져 오기?
unsigned long timeOn;
long d[10];
d[0] = 8;
d[1] = 6;
d[2] = 0;
d[3] = 0;
d[4] = 0;
timeOn = 10000*d[0] + 1000*d[1] + 100*d[2] + 10*d[3] + d[4] ;
printf("%lu",timeOn);
출력 : I는 입력에 사용자에게 다음과 같은 값을 원하는 경우 86000
내가 다른 결과를 얻을 이것이 내가 가지고있는 코드입니다.
unsigned long timeOn;
long d[10];
int i;
for(i = 0; i < 5 ; i++)
{
while (!ConsoleIsGetReady());
d[i] = ConsoleGet();
}
timeOn = 10000*d[0] + 1000*d[1] + 100*d[2] + 10*d[3] + d[4] ;
printf("%lu",timeOn);
BYTE ConsoleGet(void)
{
char Temp;
while(IFS1bits.U2RXIF == 0);
Temp = U2RXREG;
IFS1bits.U2RXIF = 0;
return Temp;
}
출력는 :
이 같은 방식으로 일을 생각하지 않는다 619328? 그러면 사용자가 다른 값을 입력하면 어떻게 될까요? 고맙습니다!
그런데'scanf ("% d", &d[i]);'대신에'd [i] = getchar(); '을 사용하면 똑같은 결과를 얻을 것입니다. 정수 값과 문자의 차이점은 숫자 코드 (ASCII 코드, '0'코드는 48, '1'코드는 49 등) – Inspired
감사합니다. 정말 고마워요! – Ammar