置頂
多了printf 之後 結果不一樣
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
int *pcell_sig;
int main()
{
int a = 5;
int b=4;
int c=3;
//printf("%p\n",&a);
//printf("%p\n",&b);
//printf("%p\n",&c);
pcell_sig = (int *)new int[3];
pcell_sig=&a;
pcell_sig[1]=b;
pcell_sig[2]=c;
printf("%d\n",*pcell_sig);
printf("%d\n",pcell_sig[1]);
printf("%d\n",pcell_sig[2]);
return 0;
}
把中間那三行printf mark掉之後
printf出來的結果是5 4 4
但是如果沒有mark掉
printf出來的結果是 5 4 3
up vote
0
這種加個printf執行就不一樣的 99%都是未定義行為
例如這篇未定義行為就出在pcell_sig=&a之後幾行
會員登入
(先登入會員才能回覆留言喔!)