77
88int main (void )
99{
10-
1110 os_ClrHome ();
1211
1312 char szNumbers [] = "2001 60c0c0 -1101110100110100100000 0x6fffff" ;
@@ -18,20 +17,22 @@ int main(void)
1817 li2 = strtol (pEnd ,& pEnd ,16 );
1918 li3 = strtol (pEnd ,& pEnd ,2 );
2019 li4 = strtol (pEnd ,NULL ,0 );
21- printf ("%ld\r\n" , li1 );
22- printf ("%ld\r\n" , li2 );
23- printf ("%ld\r\n" , li3 );
24- printf ("%ld\r\n" , li4 );
20+ printf ("%ld\r\n" , li1 ); // 2001
21+ printf ("%ld\r\n" , li2 ); // 6340800
22+ printf ("%ld\r\n" , li3 ); // -3624224
23+ printf ("%ld\r\n" , li4 ); // 7340031
2524
25+ // Out of range test. but *endptr should still be 0, and endptr-str should be 13.
2626 const char * str = "1234567890123" ;
2727 char * endptr = NULL ;
2828 long ret = strtol (str , & endptr , 10 );
2929
3030 printf ("ret = %ld\r\n" , ret );
31- printf ("endptr = %p \r\n" , endptr );
31+ printf ("endptr %s null \r\n" , endptr ? "NOT" : "" );
3232 printf ("*endptr = %d\r\n" , * endptr );
33- printf ("str = %p\r\n" , str );
3433 printf ("endptr-str = %ld\r\n" , (unsigned long )endptr - (unsigned long )str );
34+
3535 os_GetKey ();
36+
3637 return 0 ;
3738}
0 commit comments