저는 방금 C 클래스를 배우기 시작했습니다.이 과제를 위해 노력해 왔지만,이 부분은 제가 당혹 스럽습니다. 나는 기본적으로 보이는 몇 가지 코드가 있습니다왜이 Scanf가 무한 루프를 유발합니까?
그 scanf와 문이 무한 루프가 발생하는 이유#include <stdio.h>
#include <string.h>
int main(void)
{
int one = 0;
int two = 0;
char oneWord[100];
char twoWord[100];
printf("Enter a two digit number: ");
scanf("%d%d", &one, &two);
strcpy(firstWord, "Test");
strcpy(secondWord, "Two");
printf("%s", firstWord);
return 0;
}
지금, 옆으로 프로그램의 로직/목적은, 내가 무엇을 알아낼 수 없습니다 것은? 나는 그 문제의 원인이 내가 그것을 주석 처리하고 최종 printf
문장이 잘 작동한다고 판단했습니다.
입력란에 쉼표를 추가했을 때 scanf("%d,%d", %one, %two)
으로 변경하려고 시도했는데 제대로 작동하는 것처럼 보였습니다. 하지만 저는 55라는 숫자를 2 자리 숫자로 나눌 수 있기를 바랍니다. 여기 정확히 내가 뭘 잘못하고 있니?
변경 '%의 d' : 오류 처리와
:하지만 당신은 각 정보로 구성되어있는 문자 알려주는 폭 지정자와 함께, 그것을 할 방법을 알 수 있습니다 % s' – janisz
@ janisz - 이유가 무엇입니까? – MByD
죄송합니다. 전 기사를 읽지 않았습니다.한 문자 만 읽으려면'% d '을'% c'(으)로 변경하십시오. – janisz