有如下程序: #include int convert(int*data) { return(*data)++; } main() { int data=56; convert(&da

admin2017-07-05  42

问题 有如下程序:
    #include
    int convert(int*data)
    {
    return(*data)++;
    }
    main()
    {
    int data=56;
    convert(&data);
    printf("%d,",data);
    data=convert(&data);
    printf("%d,\n",data);
    }
    程序运行后的输出结果是(    )。

选项 A、56,57,
B、57,58,
C、57,57,
D、55,57,

答案C

解析 convert()函数定义了一个形参:指针变量*data。函数体中将指针变量*data对应地址的值进行加1处理,再返回加1前data的值。main()函数中,定义了变量data并赋初值56,调用covert()函数,改变变量data的值,此时data=57;程序执行data=convert(&data),函数convert()返回的是执行前data的值,所以data=57。因此答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/hODp777K
0

随机试题
最新回复(0)