标题:关于strlen的问题
取消只看楼主
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
结帖率:56.76%
 问题点数:0 回复次数:4 
关于strlen的问题
有以下程序 #include <string.h> main() {char *p="abcde\0fghjik\0"; printf("%d\n",strlen(p)); }

请问输出是多少?答案是12,为什么?strlen应该是统计字符串个数,不包含'\0',那我也数不出12呀,abcdefghjik只有11个啊!(我晕了)
搜索更多相关主题的帖子: strlen string main abcdefghjik char 
2004-09-14 22:57
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:0 

有以下程序 #include <stdio.h> main() {FILE *fp; int i=20,j=30,k,n; fp=fopen("d1.dat","w"); fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d%d\n",k,n); fclose(fp);

顺便问问,此题答案是20,50。其中50如何得来?望解释,

再此劳烦各位C界前辈了!


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-09-14 23:12
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:0 

#include <string.h> main(int argc,char *argv[]) {int i,len=0; for(i=1;i<argc;i++) len+=strlen(argv[i]); printf("%d\n",len); }

为什么输出是9?


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-09-15 00:10
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:0 

最后一个写掉了一句,

(40)有以下程序 #include <string.h> main(int argc,char *argv[]) {int i,len=0; for(i=1;i<argc;i++) len+=strlen(argv[i]); printf("%d\n",len); } 程序编译连接后生成的可执行文件是ex1.exe, 若运行时输入带参数的命令行是: ex1 abcd efg 10<回车> 则运行的结果是?

答案是9,

其他的我也敢确定是答案错了,不过我没有把握,因为那是书上所写,不过非常感谢你神vLinux飘飘,为我写出如此详细解答,年龄上我长你一岁,但在学问上小女自叹不如!


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-09-15 18:45
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1851
专家分:1858
注 册:2004-5-30
得分:0 

for(i=1;i<argc;i++) len+=strlen(argv[i]); 的作用是得到所有参数的字符数。

那为何输入 ex1 abcd efg 10 会是9?空格不算也有12个数字啊?


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-09-15 18:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-5315-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.335087 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved