char *p=s;
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 00:10:44
if((s[i]>='a'&&s[i]
p是char型指针,必须指向char型变量,s是char型数组,k是char型指针数组,s[0]是char型变量,所以A,B都错了,C是对的,k是char型指针数组,当其单独使用时表示首地址即此数组中
;q++;}字符串结尾是'\0'*q!='\0'--当字符串未到结尾时,不断循环执行--该字符的ASCII值增加1,指针值增加1,即指到下一个字符.main();funl(a);printf("%s"
a12abcde\ofghjik\0共有12个字符a,b,c,d,e,\o,f,g,h,j,i,k(‘\o'转义字符,表示空字符(NULL)’)最后的'\0'为结束符,不算做字符串长度之内
在调用point(p)时候,把p的地址传给了子函数,在子函数中的p加上了3,在子函数中的*p=c,函数调用结束后,对主函数中的p值没有影响,因为形参不改变p值,所以结果还是a如果写成这样结果就是d#i
答案:DA:s是字符数组,p是指向字符串的指针B:显然数组s中的内容和指针变量p中的内容不相等,应该换一种说法“数组s中的内容和指针变量p所指向的字符串的内容相等”C:s数组的长度为6(包含结束符'\
C语言没有多维数组,只有多个一维数组的嵌套.举个例子给你讲吧a[3][3]={1,2,34,5,67,8,9}其实是3个一维数组a[0]={1,2,3};a[1]={4,5,6};a[2]={7,8,
哥们,你大概还没有学结构体吧?s代表你定义了一个结构体变量.它里面包含了一个int型变量,一个字符型变量.就是你struct里面定义的东西.p定义了一个结构体指针,它指向了结构体变量s.p->str指
原先的是传值,导致实参p没有分配内存成功(分配给函数里的形参p了)修改为intm(char**p){*p=(char*)malloc(10);return1;}intmain(){char*p;m(&
voidf(char**p)//{char*t;t=(p+=sizeof(int))[-1];printf("%s\n",t);}main(){char*argv[]={"ab","cd","ef",
如果:输入:abcdef(回车)输出:defdef而不是楼上说的abcdef因为p=(char*)malloc(sizeof(char)*20);//为p创建堆内存q=p;//将p创建的堆内存赋值给q
首先,这个定义通不过编译char*p[12]={1,2,3,4,5,6,7,8,9,10,11,12};p是一个字符串指针数组,指向一个具有12个成员的数组,其中数组的每个成员是一个字符串,你把一个i
*(p+1)的值是b步骤:s是个char数组,所以s[0]="a",s[1]="b",s[2]="\0";p是指针,它指向s的首地址.所以*(p+1)就相当于是去拿s[1]的值.所以是"b"
main(){chara[20],*p=a;longx=0L;scanf("%s",a);while(*p!='\0'){x*=10;x+=(*p-'0');*p++;}pr
输出结果是a函数返回*p也就是字母d-->point(p)但是问的是*p当函数返回值之后里面所有的东西都释放了p还是指向之前的字母a如果想得到字母d有2个办法1p+=3改成*p+=32printf("
,dchar*p=(char*)(&a+1);把a当成一个数据结构4个字节,所以p是在'd'后面的一个字节位置再问:*p=(char*)(&a+1)char*p=(char*)(&a+1);他们分别是
def,def缺少个#include另外用完后把malloc的内存释放掉程序首先申请了20个字节大小的堆内存,用指针p指向它然后再用指针q指向它接着输入两个字符串填到p和q所指向的内存最后打出p和q指
结果是6f(char*s)是一个检查字符串长度的函数首先取得字符串开头位置的指针s令p=s令p递增直到p指向的位置为'\0'(字符串结尾的标志)然后返回p-s即字符串长度主函数中检查了"ABCDEF"
首先说指针数组和数组指针.数组指针char(*k)[3];数组指针chars[3][10]*(p[3])p[3]存储的都是char*指针.p*是普通的char指针所以p=s[0]正确再问:我没看懂你想
char*p="ABC"可以理解成一个char数组来存这个字符,其中p[0]='A';p[1]='B';p[2]='C';*p就是*(p+0)就是p[0]就是A;strlen(p)计算p的长度是3,s