鱼C论坛

 找回密码
 立即注册
查看: 2954|回复: 9

这道函数请解析下

[复制链接]
发表于 2012-1-5 23:37:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<string.h>
void main(void)
{
       
char str[   ]="ab\n\012\\\"";
     printf("%d\n",strlen(str));
}

输出是6,请解释下,谢谢!

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-6 09:34:08 | 显示全部楼层
调试的时候,把str的值看一下。结果是[0] 'a'       [1] 'b'       [2] '    '         [3]'   '     [4] '\'         [5] ''''
[6] 是结束符   
\n   \012   都表示一个字符或操作  \\ 就表示\
\" 表示"  在字符串中有些字符显示前面加个\的
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-6 09:50:06 | 显示全部楼层
帮顶,偶也是第一次看到这种类型的问题
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-6 10:16:51 | 显示全部楼层
测试字符串长度 要分为转移字符和非转移字符。  我在VC++ 调试的是 ab\"". 应该是5吧分别是 a b \   ''   ''
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-6 14:03:06 | 显示全部楼层
不是很明白,还请楼上再解释下,\012是什么意思,是转义字符吗?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-6 14:10:48 | 显示全部楼层
本帖最后由 seuer126 于 2012-1-6 14:11 编辑

\n或者 \\ 就是一个转移字符, 具体的你可以百度下。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-1-6 16:03:27 | 显示全部楼层
wqlovt 发表于 2012-1-6 09:34
调试的时候,把str的值看一下。结果是[0] 'a'       [1] 'b'       [2] '    '         [3]'   '     [4] ' ...

谢谢 啊,终于知道了
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-1-6 16:04:00 | 显示全部楼层
YJL 发表于 2012-1-6 09:50
帮顶,偶也是第一次看到这种类型的问题

我是六,难道你打错了
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-1-6 16:04:24 | 显示全部楼层
dargen 发表于 2012-1-6 14:03
不是很明白,还请楼上再解释下,\012是什么意思,是转义字符吗?

是的,呵呵,我也是刚知道
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-1-6 19:51:46 | 显示全部楼层
谢谢啦,我也学会了~~
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-10 16:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表