有如下程序 #include<stdio.h> int test(int*data) { return--(*data); } main() { int data=12; test(&

admin2017-07-05  22

问题 有如下程序
    #include<stdio.h>
    int test(int*data)
    {
    return--(*data);
    }
    main()
    {
    int data=12;
    test(&data);
    printf(’’%d,’’,data);
    data=test(&data);
    printf(’’%d,’’,data);
    }
    程序运行后的输出结果是(    )。

选项 A、11,10,
B、12,11,
C、11,12,
D、12,12,

答案A

解析 --为自减运算符,--i未在使用i之前对i的值进行减1操作,将data的地址传入test()函数,返回值为该值减1,第二次继续调用该函数将data再次传入,所以两次的输出结果为11,10,选项B、C、D错误,选项A正确;本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/dZDp777K
0

最新回复(0)