2012-10-03 4 views
3
main() 
{ 
    int d,a; 
    printf("Enter the digit :"); 
    scanf("%d",&d); 
    printf("Enter another digit :"); 
    scanf("%d",&a); 
} 

출력 : 10 는 다른 숫자를 입력 : 숫자를 입력 10scanf의 공백없이 그리고 scanf의 공백없이 차이점을 설명하십시오.

main() 
{ 
    int d; 
    char a[10]; 
    printf("Enter the digit :"); 
    scanf("%d ",&d); 
    printf("Enter another digit :"); 
    scanf("%s ",a); 
} 

출력 :

Enter the digit : 10 
waiting for stdin 

사람이 scanf("%d",&a)scanf("%d ",&a)의 차이를 설명 할 수 있습니까? scanf 문에 공백을 추가하면 왜 표준 입력을 기다리게됩니까?

답변

4

scanf 형식 문자열의 공백은 공백 문자 (공백뿐만 아니라 여러 번)와 일치하므로 Enter 키를 누르면 일치하는 문자열의 일부가됩니다. Ctl + D를 누르면 작동합니다.

-1

scanf에 공백이 있으면 공백이 있음을 의미합니다. 따라서 그것은 당신이 공간에 들어가기를 기다립니다.

+1

이 지시어 (공백)는 입력에 아무 것도 포함하지 않는 공백을 찾습니다. 따라서 공백 문자를 입력 할 필요가 없습니다. – timos

관련 문제