| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:[求助]c语言的一次作业,请大家帮下忙啊
只看楼主 加入收藏
pirate4444
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-12-25
收藏
 问题点数:0 回复次数:9 
[求助]c语言的一次作业,请大家帮下忙啊

这段代码目的:若输入的字符串为大写字母,则以小写输出。但下面的代码有错误,请高手们看看吧,然后帮忙指出错误,我看到要疯了。代码如下

#include<stdio.h>
#define MAX_LEN 10
char *LowerCase(char *s);
int main()
{
char str[MAX_LEN];
printf("enter a string:");
scanf("%s",str);
printf("lowercase:%s \n",LowerCase(str));
}
char *LowerCase(char *s)

{
char newStr[MAX_LEN];
int index;
for(index=0;index<MAX_LEN;index++)
{
if('A'<=s[index]&&s[index]<='Z')
newStr[index]=s[index]+('a'-'A');
else
newStr[index]=s[index];
}
return newStr;
}

先谢了

搜索更多相关主题的帖子: c语言 作业 
2006-12-25 22:36
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 

==

[此贴子已经被作者于2006-12-25 22:50:50编辑过]


这个社会太复杂。。。
2006-12-25 22:50
crusoe
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-12-24
收藏
得分:0 
运行正常啊
什么错误?
2006-12-25 22:53
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
你的那个函数有点乱。。。试试我写的这个函数。。我用的是指针直接写回去。。不要返回值

void change(char *p)
{ while(*p!='\0')
{if(*p>='A'&&*p<='Z')
*p=*p+32;
p++;
}
}

这个社会太复杂。。。
2006-12-25 22:54
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
以下是引用pirate4444在2006-12-25 22:36:45的发言:

这段代码目的:若输入的字符串为大写字母,则以小写输出。但下面的代码有错误,请高手们看看吧,然后帮忙指出错误,我看到要疯了。代码如下

#include<stdio.h>
#define MAX_LEN 10
char *LowerCase(char *s);
int main()
{
char str[MAX_LEN];
printf("enter a string:");
scanf("%s",str);
printf("lowercase:%s \n",LowerCase(str));
}
char *LowerCase(char *s)

{
char newStr[MAX_LEN];
int index;
for(index=0;index<MAX_LEN;index++)
{
if('A'<=s[index]&&s[index]<='Z')
newStr[index]=s[index]+('a'-'A');
else
newStr[index]=s[index];
}
return newStr;
}

先谢了

你返回的是个地址,是数组newstr的地址,当回到main中的时候,函数中的变量就会释放,你叫main去哪找值啊?输出的当然不对了。。。


这个社会太复杂。。。
2006-12-25 22:56
pirate4444
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-12-25
收藏
得分:0 
运行非常不正常啊,输入4个或4个字符以上后输出就不正常了
2006-12-25 22:59
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
把这个char newStr[MAX_LEN];放到main前面去。。换成全局变量就行了

这个社会太复杂。。。
2006-12-25 23:00
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
不好意思。。。说到VB中去了。。。应该是外部变量,不叫全局变量

这个社会太复杂。。。
2006-12-25 23:03
pirate4444
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-12-25
收藏
得分:0 
这位大哥太强了,我们宿舍四人在此感谢了阿
2006-12-25 23:05
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
呵呵。。。不谢

这个社会太复杂。。。
2006-12-25 23:14
快速回复:[求助]c语言的一次作业,请大家帮下忙啊
数据加载中...
 
   



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

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