1. 程式人生 > >[Note]一些小坑點

[Note]一些小坑點

64位 inpu note clu class scan amp code pri

scanf

一個有趣的現象:如果用%lld或%I64d寫入int的話,會出現一些神奇的現象,大概是因為強制寫入了64位從而訪問到了非法內存。

小例子:

#include <cstdio>

int a[3];

int main() {
    a[0] = a[2] = 2;
    scanf("%lld", &a[1]);
    printf("%d %d %d", a[0], a[1], a[2]);   
}
/*
input : 1
output : 2 1 0
input : 1000000000000
output : 2 -727379968 232
*/

[Note]一些小坑點