有如下程序 #include <stdio.h> #include <string.h> struct S { char name[10]; }; void change(struct S *data, int value) { strcp

admin2020-01-10  30

问题 有如下程序
#include <stdio.h>
#include <string.h>
struct S
{
    char name[10];
};
void change(struct S *data, int value)
{
    strcpy(data->name, "****");
    value = 13;
}
main()
{
    struct S input;
    int num = 4;
    strcpy(input.name, "THIS");
    change(&input, num);
    printf("%s,%d\n", input.name, num);
}
程序运行后的输出结果是

选项 A、****,4
B、****,13
C、THIS,4
D、THIS,13

答案A

解析 程序执行过程为:定义结构体变量input,调用strcpy(input.name, "THIS"),使input.name="THIS",调用函数change(&input,4),将结构体地址传入函数,执行函数体,调用strcpy(data->name,"****")使input.name="****",而4是值传递,并没有改变num的值。输出结构体成员为:****,4,A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/5NG0FFFM
0

相关试题推荐
最新回复(0)