求如下内容的输出结果是什么?

4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 
则printf("%d\n",strlen(p+20)); 输出结果是
A)10 B) 6 C) 0 D) 20

MMMHUHU
浏览 93回答 2
2回答

慕少森

str是个二维字符数组,p是一维指针,这样是不能赋值的吧*p = str; 不过如果真的能这样,那就是用一个字符型的指针访问数组,p+20,也就是数21个字符(0-20),也就是刚好数过B,所以指向的字符是eijing,答案是B

缥缈止盈

#include "stdio.h"void main(){char str[][20]={"Beijing","中国石油大学"},*p=str; printf("%d\n",strlen(p+20));  }运行后是12。
打开App,查看更多内容
随时随地看视频慕课网APP