char *p[]={BOOL,OPK,H,SP};int i;
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 06:49:14
输出SO,i为3,*p[3]为S自减后i为1,*p[1]为O
;q++;}字符串结尾是'\0'*q!='\0'--当字符串未到结尾时,不断循环执行--该字符的ASCII值增加1,指针值增加1,即指到下一个字符.main();funl(a);printf("%s"
在调用point(p)时候,把p的地址传给了子函数,在子函数中的p加上了3,在子函数中的*p=c,函数调用结束后,对主函数中的p值没有影响,因为形参不改变p值,所以结果还是a如果写成这样结果就是d#i
p是地址,在32位计算机中占4个字节sizeof(str)是6个字节
设置一个布尔型(BOOL)变量m的值为falsePS:布尔型变量只能是false或者true如果正确请采纳我吧,谢谢!
//程序应该是判断输入字符串是不是对称#include <iostream.h>bool fun(char* str) &n
strlen计算的是字符串的字符个数不包括\0,charp[][20]={“get”,”put”,”out”};即p[0]='g','e','t','\0',p[1]='p','u','t','\0'
原先的是传值,导致实参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
q可以当成是字符串,但p不是字符串作为字符串,q的长度是已知的,p的长度是未知的作为数组,q包含7个字符,p包含6个字符可以用sizeof得到两个数组的大小计算字符串长度不把'\0'计算在内所以q,p
if(a>b)k=true;elsek=false;
#include<stdio.h>void main(){\x05char a[9]={'1','2','3','
输出结果是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);他们分别是
括号不会影响求值顺序.括号是用来干预运算符优先级的,影响的是运算符和操作数的结合关系.比如1*2/(3+4)里括号使3和原本优先级比较低的+结合,而不是原本优先级高的/结合.但是对于/左右的求值顺序,
def,def缺少个#include另外用完后把malloc的内存释放掉程序首先申请了20个字节大小的堆内存,用指针p指向它然后再用指针q指向它接着输入两个字符串填到p和q所指向的内存最后打出p和q指
结果是6f(char*s)是一个检查字符串长度的函数首先取得字符串开头位置的指针s令p=s令p递增直到p指向的位置为'\0'(字符串结尾的标志)然后返回p-s即字符串长度主函数中检查了"ABCDEF"
strlen(p)是3*p是第一个字符A的,它的ASCII码65加一起68
char*p="ABC"可以理解成一个char数组来存这个字符,其中p[0]='A';p[1]='B';p[2]='C';*p就是*(p+0)就是p[0]就是A;strlen(p)计算p的长度是3,s