标签:ar c amp r bs as har c语言 测试
k&r习题3-4,原始itoa不能处理最大负数(最大指的是绝对值最大而不是数值),因为最大负数绝对值比最大正数绝对值大1,n=-n这个表达式会溢出。/* * compile with reverse.c */ void itoa(int n, char s[]) { int i; unsigned sign; if (n<0) sign=-n; i=0; do { s[i++]=sign % 10 + ‘0‘; }while ((sign /= 10)>0); if (n < 0) s[i++] = ‘-‘; s[i]=‘\0‘; reverse(s); }
标签:ar c amp r bs as har c语言 测试
原文地址:http://my.oschina.net/sukai/blog/313106