标题:strlen函数的问题
取消只看楼主
学c
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-17
 问题点数:0 回复次数:2 
strlen函数的问题

这里只是部分程序:
#include<stdio.h>
int main()
{
FILE *fp;
FILE *dp;
int i;
char ch,dh,temp[20];
if((fp=fopen("test.txt","w+"))==NULL)
{
printf("can not creat a file\n");
exit(1);
}
gets(temp); 输入i am a chinese
i=strlen(temp); 在这里i的值是14
printf("%d",i); 在这里i的是输出是14.
for(i=0;i<strlen(temp);i++)在这里这么用为什么不行啊,但是把strlen(temp)换成14就行了)
{
if('a'<=temp[i]<='z')
temp[i]=temp[i]-32;
fputc(temp[i],fp);
printf("%c",temp[i]); 如果用strlen在这里只能输出一个字符。但是用14能把所有字符输出,难道在这里strlen(temp)!=14吗?
}
exit(0);
}




[此贴子已经被作者于2007-9-19 9:19:24编辑过]

搜索更多相关主题的帖子: strlen 函数 temp int 
2007-09-18 17:15
学c
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-17
得分:0 
哪位知道告诉一声啊?你们可以去测试一下!!!但不要乱说
2007-09-19 09:15
学c
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-17
得分:0 

我明白了,是这条语句不对!!if('a'<temp[i]<'z')这条语句一定要写成if(temp[i]>'a'&&temp[i]<'z')两者是不一样的!!!!

2007-09-19 10:18



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




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

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