hyqd.net
当前位置:首页 >> C语言ChAr *p=“ABCDE/OFghjik/0”;   printF(“%D/n”,strl... >>

C语言ChAr *p=“ABCDE/OFghjik/0”;   printF(“%D/n”,strl...

strlen() 假定字符串结束符是 \0 (数字0和反斜杠), 所以长度只计算到 k.结束符\0 不算进去.大写的O 和它前面的反斜杠一起构成“转义字符”, \O 算成 只占 1个字节. (尽管\O 是不合理的转义).其它,abcdefghijk 各算1个字节.加起来 是 12 个字节.strlen(p) 输出 12.

a 12abcde\ofghjik\0共有12个字符a,b,c,d,e,\o,f,g,h,j,i,k('\o'转义字符,表示空字符(NULL)')最后的'\0'为结束符,不算做字符串长度之内

strlen(p)的值是5.strlen的计数规则是读取到串尾符'\0'时,计数结束.在字符串"12345\0QQ\0"中,虽然还没有到末尾,但是字符串中已经出现了转义字符\0,这正好被认为是串尾符'\0',所以统计到“12345”就结束了

应该是程序运行出错.p指针指向的是字符串常量,字符串常量是不能被修改的,在strcpy函数运行出错.

%c%c\n和%d%d\n出现在输出语句中具有如下意义:%c%c\n表示输出两个字符数据,%d%d\n表示输出两个十进制整型数据.并且输出的数据是紧挨着的,如果想分开点,可以增加宽度,比如"%5d"就是按照5的宽度输出一个整型数据,或者在两个格式符中间加上空格,逗号,等其他字符也可以,比如"%d,%d".扩展资料:常用的有以下几种格式字符:一、d格式字符.用来输出十进制整数.有以下几种用法:1、%d,按整型数据的实际长度输出.2、%md,m为指定的输出字段的宽度.3、%ld,输出长整型数据.二、o格式符,以八进制整型式输出整数.三、x格式符,以十六进制数形式输出整数.四、c格式符,用来输出一个字符.参考资料来源:百度百科-格式字符

结果:3char p[]=”abcdefgh",*q;q=p+3;//q以p开始往后便宜三位 q指向dprintf("%d\n",*q-*p);//d-a=3

输出:5因为指针p指向变量i的地址,当改变*p的值时,变量i的值也会改变.

这里需要强制转换一下,如(int)(1.2*p)

fprintf()是按格式输出到文件操作,fscanf()是输入(就是你输的),与"%s"还是"%d"无关,只是格式定义.

%c%c\n和%d%d\n出现在输出语句中具有如下意义:%c%c\n表示输出两个字符数据,%d%d\n表示输出两个十进制整型数据.并且输出的数据是紧挨着的,如果想分开点,可以增加宽度,比如"%5d"就是按照5的宽度输出一个整型数据,或者在两个格式符中间加上空格,逗号,等其他字符也可以,比如"%d,%d".扩展资料:常用的有以下几种格式字符:一、d格式字符.用来输出十进制整数.有以下几种用法:1、%d,按整型数据的实际长度输出.2、%md,m为指定的输出字段的宽度.3、%ld,输出长整型数据.二、o格式符,以八进制整型式输出整数.三、x格式符,以十六进制数形式输出整数.四、c格式符,用来输出一个字符.参考资料来源:百度百科-格式字符

相关文档
prpk.net | pxlt.net | skcj.net | acpcw.com | lyxs.net | 网站首页 | 网站地图
All rights reserved Powered by www.hyqd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com