关于int和long long int的用法(?)

P1307 [NOIP2011 普及组] 数字反转

风音曜子 @ 2017-05-28 17:12:23

本题中有条件“-1,000,000,000≤ N≤ 1,000,000,000”,我考虑要不要用long long int来以防万一,结果输出的数字几乎是随机数。。。但改用int类型就完全没问题,求问各位大犇是什么原因造成的?以后如何分辩这两者的使用?如何避免这样的情况再发生?

P.S. 求各位大犇推荐一本C++入门书籍,一点一点搜索提问实在有点痛苦。。

include <cstdio>

int myabs(int x)
{
    int y;
    if(x<0)
    {
        y = -x;
    }
    else
    {
        y = x;
    }
    return y;
}
int main()
{
    int input, absv, out;
    scanf("%d", &input);
    absv = myabs(input);
    while (absv != 0)
    {
        out = out * 10 + absv % 10;
        absv /= 10;
    }
    if(input < 0)
    {
        printf("-");
    }
    printf("%d", out);
    return 0;
}

by 355_113 @ 2017-05-28 18:13:21

long long

scanf("%d", &input);
printf("%d", out);

%d改为%lld

查书。。。

同上。

信息学奥赛一本通c++版


by 355_113 @ 2017-05-28 18:14:09

@风音曜子


by 风音曜子 @ 2017-05-28 18:33:34

@355_113 非常感谢~~


|