有以下程序: #include main() { int a=2,*ptr; ptr=&a; *ptr=8: a=(*ptr)++; printf("%d,%d\n",a,*ptr);

admin2016-04-07  18

问题 有以下程序:
    #include
    main()
    {
    int a=2,*ptr;
    ptr=&a;
    *ptr=8:
    a=(*ptr)++;
    printf("%d,%d\n",a,*ptr);
    }
    程序运行后的输出结果是(    )。

选项 A、9,9
B、8,9
C、2,4
D、0,4

答案A

解析 题干中定义一个指针变量ptr,再把a的地址值赋给变量ptr,此时a和*ptr代表同一内存单元中的值,*ptr=8表示把a和*ptr的值修改为8,a=(*ptr)++表示把指针ptr对应地址单元里的值赋给a,再将ptr对应地址单元里的值加1,因此*(ptr)值为9,同时a也为9,因此答案为A选项。
转载请注明原文地址:https://jikaoti.com/ti/cGi0FFFM
0

最新回复(0)