有以下程序 #include <stdio.h> int fun(char *s) { char *p=s; while( *p != ’\0’) p++; return(p-s); }

admin2015-11-24  41

问题 有以下程序
    #include <stdio.h>
    int fun(char *s)
    {  char *p=s;
       while( *p != ’\0’) p++;
       return(p-s);
    }
    main()
    {  char *p="01234";
       printf("%d\n",fun(p));
    }
程序的运行结果是

选项 A、3
B、6
C、4
D、5

答案D

解析 程序执行过程为:定义指针p,初始化为字符串"01234"首地址。调用函数fun,将指针传入函数,定义指针s使其指向字符串第一个字符。while循环使指针p指向字符串结束符’\0’,返回两个指针差,也即是字符串长度5。最后输出5,D选项正确。
转载请注明原文地址:https://jikaoti.com/ti/4WkiFFFM
0

最新回复(0)