#include
main()
{
int a = 0, *ptr;
ptr = &a;
*ptr = 3;
a = (*ptr) ++;
printf("%d,%d\n", a, *ptr);
}
a的值應該是幾呢?請大神指點。
答案是4
main()
{
int a = 0, *ptr;//定義一個變量a和一個int * 類型的指針 ptr
ptr = &a;//將a的地址賦給了ptr
*ptr = 3;//將ptr所指向的地址的值設置為3,此時a也為3
a = (*ptr) ++;//這裡先將ptr所指向的地址中保存的值賦給了a,然後*ptr再自增,即*ptr=4,但是ptr是指向a的地址的,所以最後a也為4
printf("%d,%d\n", a, *ptr);
}