|
일단 답변은 고맙습니다....
하지만 그방법도 해보았지만 결과는 같습니다....
다른해결책은 없는지요........
임문환 님이 쓰신 글 :
:
: 숫자가 아닌지 비교하려면 아래와 같이 해야 합니다.
: if(pp[i]<0x30 || pp[i]>0x39)
:
: 아스키 코드표에서 '0'은 십진수로는 48이고 16진수로는 30입니다.
:
:
: 김학래 님이 쓰신 글 :
: : 아스키 코드값을 비교해서 0~9사이의 값이 아니면
: :
: : 프린트함수를 실행해야하는데 실행이 안되네요 ㅡㅜ
: :
: : 고수님들 좀 가르쳐주세요......
: :
: : 제가 작성한 겁니다..... 이게 해결이 되어야지 다음 단계로
: :
: : 넘어갈수 있거든요 제발 가르쳐주세요........
: :
: : #include <stdio.h>
: : #include <string.h>
: :
: : main()
: : {
: : char pp[12],p[40];
: : int a=0,i,c=0,z=0;
: : back1:;
: : printf("숫자를 입력하세요[부호포함12자리이하] : ");
: : scanf("%s",pp);
: :
: : a = strlen(pp);
: :
: : for(i=a-1;i>=0;i--){
: : if(pp[i]<30 && pp[i]>39){
: : printf("입력하신 데이터는 숫자가 아닙니다.");
: : goto back1;
: : }
: : }
: : }
: :
: :
|