C语言统计字符串长度的那个函数,统计引号麽?
发布网友
发布时间:2023-07-20 14:34
我来回答
共3个回答
热心网友
时间:2024-11-19 10:36
说实话,我在这方面的研究也不是很多
但是我可以尽力给你解释一下吧,
不只到你有没有发现,在单引号内的单引号,双引号内的双引号都会失效
如:
char ch='''; //报错,说是:空的字符常量
printf("%c\n",ch);
还有如:
char ch1[]="acc""jlf";
printf("%d\n",strlen(ch1));
结果为:6
但是,在单引号内的双引号,双引号内的单引号都是有效的
如
char ch='"'; //编译通过并能正常打印出一个 “
printf("%c\n",ch);
再如
char ch1[]="acc'jlf";
printf("%d\n",strlen(ch1)); //结果为7
还有个问题:
双引号内的双引号必须为两个两个连在一起,不能分开的
如:
char ch1[]="a""cc""jl""f";
printf("%d\n",strlen(ch1)); //结果为6
如果改成以下这样,
char ch1[]="a"ccjlf";
printf("%d\n",strlen(ch1)); //报错说cc之前少了一个”
我是这样理解的,字符串的定义必须由双引号开始双引号结束
如果在串内加了一个双引号,必须在后边紧跟一个双引号,否则紧跟该引号的串的定义就非法了
我能说的就这些了,本人水平实在有限,如果你想了解更多,建议你去查查资料,其实在学C的过程中,有相当多的东西都是硬性规定,我们无法得到答案,有钻研精神是好的,但不必拘泥某个知识点,还有很多其它的东西更值得你去钻研。呵呵,说得不当之处,还请见谅....
热心网友
时间:2024-11-19 10:37
在字符串里的引号前加上\在c语言里才算是引号
热心网友
时间:2024-11-19 10:37
字符串里的引号在语句中有2义性。
这时要用反斜杠作"escape sequence" -- 即"请编译器不要对反斜杠后的字符作任何解释和翻译,请作普通字符处理”。
char arr[]="bei\"\"jing";
....
....
len2=strlen("shang\"\"hai");