答案是:strlen(s)的值为7 strlen(s)的意思是求字符串s的长度,strlen()函数有一个特点,就是以\0是串结束的标志,遇到\0就会停止,且字符串"1234567\0\0"中含有\0,所以strlen函数计数1、2、3、4、5、6、7这七个数后就停止了,然后返回结果。下图是用VC6.0运行该题代码,得到真确的结果...
char a = '\\'; 反斜杠, 或者 char a = '\''; 单引号 \ 表示后面的字符被转义,也就是说 \x 两个字符表示一个被转义的字符。\\ 表示反斜杠本身,\'表示单引号,如果没有反斜杠转义,单引号字符无法表示。因为
a数组是字符串数组。长度是sizeof(a)=7//包括A,B,C,D,E,F,'\0'。这个'\0'是在编译的时候编译器给加进去。用以限定字符串的边界。b数组是普通的字符数组。长度是sizeof(b)=6//包括包括A,B,C,D,E,F。前者
sizeof(x), 是计算x占多少内存。char x[]="string" 有6个字符外加一个看不见的字符串结束符,共7个。x[0]=0; ASCII 码 0 就是null, 就是字符串结束符。strlen(x) 返回字符串长度,长度是不计入字符串结束符的,所以得0。printf("%d%d --- 是70。 sizeof(x) 返回7,...
结果是3 {'a','b','c','\o'};这个里面你输入错了吧应该是'\0'吧?'\0'这个是每个字符串必须有的 结束符 结束符不作为字符的长度 所以字符只有'a','b','c',长度为3 1
别纠结这种题,这种题的结果与编译器对printf函数的参数表的解释算法有关,有的编译器输出是111,而有的输出是321。前者认为三个*p++一个语句,等这个语句运行完毕才进行++赋值运算;后者认为三个*p++是独立的三个语句,且从右向左计算并压栈。所以不提倡写这种没有严格细节定义的语句……供参考!1...
字符串是常量,所以肯定是有错的。你写的这段程度甚至有点难以让人理解你到底要实现什么。如果你想要实现用指针指向这个字符串,则需要定义一个字符指针变量,然后将字符串地址赋给这个指针变量。如果是如我所言,则可以写成:char strabc = "C:\\test\\test.dll";char *p = &strabc;(...
格式控制符“%p”中的p是pointer(指针)的缩写。指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数。printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。p是打印地址的, %x是以十六进制形式打印, 完全不同!另外在64位...
1、users文件夹在有些版本的系统里不能直接找到,因为有时是以中文名字出现的。先打开“计算机”。2、再双击C盘盘符。3、在C盘根目录里有个“用户”文件夹,这就是users文件夹。4、打开它后,可以看到有“Administrator”和“公用”两个文件夹。5、打开“Administrator”文件夹,就可以看到视频、音乐、...
功能函数 参数是个指针P+3 是指针的地址+3void point(char *p){p+=3;}主函数void main(){char b[4]={'a','b','c','d'},p=b; 把b的地址传给ppoint(p); 调用功能函数printf("%c\n 打印你函数没写全 估计最后打印出来的是 d}指针传进去,不是改指针指向的值void point(...