메뉴얼에보면
the length of the strings produced is locale/dependent and difficult to predict라 나와 있네요.
변수 a의 배열이 18개이상에서는 정상처리된다면 compile내부에서는 unicode등으로 처리된다고 보면 될듯한데...
제컴에선 정상처리되 시험해볼 수 없네요
컴파일러의 옵션이 있을것도 같은데
이제 프로그램습관도 바꿔야할거 같아요. 저도 지금껏 그와같이 써왔는데 예전에 만들었던 프로그램 어디에 그런 코드가 숨어있는지 어떻게찾지?
실수로 재컴파일해버리면 잘되던 프로그램이 어장날수도 있겠네요
>>이태웅 님께서 쓰시길<<
:: 정말 오묘하군요.
:: 하긴.. C에서 문자열관련에서도 이상한거 많더군요.
:: #include <stdio.h>
:: int main()
:: {
:: char a[9],*b="ironiris"; // 문자열이 8자입니다만... 문자열뒤에 널문자
:: sprintf(a,"%s",b); // 생각해서 a[9]로 선언했다지만.. //;
:: puts(b);
:: }
:: 요놈이 실행될까요 안될까요?
:: 제 경우엔 코어덤프가 나더군요. 왠일일까?
:: a[9]를 a[20]정도로 잡아주면 코어덤프 안나더군요. ㅠ.ㅠ
::
:: >>신현호 님께서 쓰시길<<
::
:: :: 7.1에서 나온 결과인데...
:: :: 정상인지 아니면 웃기는 경우인지... 나원...
:: ::
:: :: 3/2 = 1 /// ???
:: :: 3.0/2.0 = 1.5
:: :: 10.0/2.0 = 5 /// ??? 정수가 되어 버림.
:: ::
:: :: 3 % 2 = 1
:: :: 3 % 2.0 = error /// ???
:: :: 3.0 % 2.0 = 1 ///??? 역시 정수가 되어 버림
:: ::
:: :: 뭔데... 이건...?
:: ::
:: :: 우선은 시험해 본것만 씁니다.
:: :: PL/pgSQL 예제 만들다가 점점 이상해저서 ...
:: ::
:: ::
:: :: 인천의 나사 풀린 산호...
|