sq.c代码程序的运行与解释

代码为:

#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;
}

在Linux环境下运行结果为:在这里插入图片描述
int类型的取值范围是 -2147483648~2147483647 (-2的31次方~2的31次方-1),65535的平方超过了int能表示数的最大值,发生了数值的溢出,最终结果值为65535的平方减去2的32次方,其他数值同理。

猜你喜欢

转载自blog.csdn.net/qq_44712437/article/details/90646583