有以下程序 #include <stdio.h> main() { char s[10]="verygood", *ps=s; ps+=4; ps="nice"; puts(s);

admin2020-10-26  24

问题 有以下程序
    #include <stdio.h>
    main()
    {  char s[10]="verygood", *ps=s;
       ps+=4;
       ps="nice";
       puts(s);
    }
程序的运行结果是

选项 A、nice
B、verynice
C、nicegood
D、verygood

答案D

解析 将字符指针变量初始化为一个字符串有两种方式,其中的一种通过赋值运算使一个字符指针指向一个字符串常量:char *ps;ps="nice"。这种形式只是将字符串"nice"首地址赋给指针,而不是将指针原本指向的单元元素改变成"nice"。程序执行过程为:定义字符数组并且初始化为"verygood",定义指针ps使其指向数组,使ps指向数组第5个元素,使指针指向字符串"nice",这并不影响s数组任何元素值,故输出字符串s为verygood,D选项正确。
转载请注明原文地址:https://jikaoti.com/ti/BGD0FFFM
0

最新回复(0)