我的代码:
#define A2N(a) (a>47 && a<58)?(a-48):(-1e10)
...
char *c ;
printf("Interval = %s,%d,%d \n",c,c[1],A2N(c[1]));
输出:
Interval = P00000T00:00:00 ,48,1127219200
为什么?!
当我使用%f打印A2N(c [1])时,一切都OK。
您需要浮动符%f
,因为在三元表达式的结果类型A2N
是double
:
在“其他”部分的用途-1e10
,一double
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句