char*const p表明p是一个指针,它只能指向一个字符串常量。
已定义以下函数: fun(char*p2,char*p1) {while((*p2=*p1)!=’\0’){p1++;p2++;}} 函数的功能是( )。A.将p1所指字符串复制到p2所指向内存空间B.将p1所指字符串的地址赋给指针p2C.对p1和p2两个指针所指字符串进行比较D.检查p1和p2两个指针所指字符串中是否有’\0’
点击查看答案
这程序有错吗?/*写一个函数,用来返回一个字符串中重复出现的最长字串的长度及其开始地址const char*p=NULL;int len=maxsubstr("qweohiuweyowohifpw",&p);输出:len=3,substr=ohi*/#include#includeint maxsubstr(const char *str,const char **p){ int len=0,templen=0;//len为字符串中重复出现的最长字串的长度,templen为判断过程中字符串中重复出现的字串的长度 int size=strlen(str); const char*i=str,*j=0; //i=str即i=str[0],i指向字符串的第一个字符 for(i=str;ilen){ //判断重复出现的最长字串的长度是否改变 len=templen; templen=0; *p=i; }else{ templen=0; //就算重复出现的最长字串的长度不改变,当前长度也得清零。。。 } } } } return len;}int main(){ char str[10000]; const char*p=0; int len=0; int i=0; printf("输入带重复字符的字符串"); scanf("%s",str); len=maxsubstr(str,&p); printf("len=%d,substr=",len); for(i=0;i<len;i++){ printf("%c",*p++); } printf("\n");}
说明语句"int (*p)(); "的含义是( )。A.p是一个指向一维数组的指针变量B.p是一个指针变量,指向一个整型数据C.p是一个指向函数的指针,该函数的返回值是一个整型D.以上都不对
若有定义:int (*p)[4]; 则标识符 p( ) 。A. 是一个指向整型变量的指针B. 是一个指针数组名C. 是一个指针,它指向一个含有四个整型元素的一维数组D. 定义不合法
要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )。A.const char *p=”ABCD”;B.char const *p=”ABCD”;C.char *const p=”ABCD”;D.const char *const p=”ABCD”;
说明语句int*(*p)();的含义是______。A.p是一个指向int型数组的指针B.p是指针变量,它构成了指针数组C.p是一个指向函数的指针,该函数的返回值是一个整型D.p是一个指向函数的指针,该函数的返回值是一个指向整型的指针
以下定义:int(*p)[4]中,标识符p是( )。A.一个指向整型变量的指针B.一个指针数组名C.一个指针,它指向一个含有4个整型元素的一维数组D.说明不合法