有以下程序 void fun(char*s){ char a[10]; strcpy(a,"STRING"); s=a;} main(){ char*p="PROGRAM"; fun(p);

admin2019-05-17  33

问题 有以下程序
    void fun(char*s){
    char a[10];
    strcpy(a,"STRING");
    s=a;}
    main(){
    char*p="PROGRAM";
    fun(p);
    printf("%s\n",p);}
    程序运行后的输出结果是(此处□代表空格)

选项 A、STRING□□□□
B、PROGRAM
C、STRING□□□
D、STRING

答案B

解析 函数fun的主要功能是把字符串"STRING",存放到字符数组a中,s指向该字符串,函数调用结束以后,释放s和a指向的空间。主函数调用fun(p),并不能更改p的值,因此p的指向没有改变。
转载请注明原文地址:https://kaotiyun.com/show/HDRp777K
0

最新回复(0)