有以下程序: #include int fun(char*s) { char*P=S: while(*P++!=’\0’); return(P—s); } main() { char*r=“01234

admin2019-06-09  21

问题 有以下程序:
  #include
  int fun(char*s)
  {
    char*P=S:
    while(*P++!=’\0’);
    return(P—s);
  }
  main()
  {
    char*r=“01234”;
    printf(“%d\n”,fun(r));
    }
程序的运行结果是(    )。

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

答案A

解析 程序执行过程为:定义字符串指针r,并为其初始化为“01234”,调用函数fun(r),将指针传入函数while循环找到字符串的结束符地址,然后使这个指针指向结束符下一个单元,结束循环。返回字符串首地址与结束符下一个地址之差,也即是字符串长度加1。输出地址差为6。
转载请注明原文地址:https://kaotiyun.com/show/aRRp777K
0

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