x*x不一定大于等于0。
代码全览
#include <stdio.h>
#include <stdlib.h>
int sq(int x
) {
return x
*x
;
}
int main(int argc
, char *argv
[]) {
int i
;
for (i
= 1; i
< argc
; i
++) {
int x
= atoi(argv
[i
]);
int sx
= sq(x
);
printf("sq(%d) = %d\n", x
, sx
);
}
return 0;
}
运行结果
说明
每一种类型所能表示的数据有范围,当超出这个范围时就会产生溢出。 如 64位机下 int 型能表示的范围是-2的63次方到2的63次方-1,一旦超出该范围,就会溢出。
转载请注明原文地址: https://yun.8miu.com/read-134379.html