标题:[求助]大写转小写,但有错
只看楼主
jinwenbobull
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-10-28
 问题点数:0 回复次数:12 
[求助]大写转小写,但有错

void ch(char *s);
#include<stdio.h>
main()
{
char *p="Jegged";
ch(p);
printf("%s",p);
}
void ch(char *s)
{
while(*s)
{
if(*s>='A'&&*s<'Z')
*s+=32;
s++;
}
}

帮忙看看,哪里又错误。

搜索更多相关主题的帖子: 小写 
2007-01-01 11:13
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
得分:0 
错在哪了?
我的编辑器通过。。。。。
提议你把Jegged转为JEGGeD测试
这样有助于比较 结果

[此贴子已经被作者于2007-1-1 11:36:04编辑过]


哎 时间....................
2007-01-01 11:34
jinwenbobull
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-10-28
得分:0 
我用的是cfree,运行是显示 引用地址错误。

个人主义者
2007-01-01 11:39
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
得分:0 
以下是引用jinwenbobull在2007-1-1 11:13:26的发言:

void ch(char *s);
#include<stdio.h>
main()
{
char *p="Jegged";
ch(p);
printf("%s",p);
}
void ch(char *s)
{
while(*s)
{
if(*s>='A'&&*s<'Z')
*s+=32;
s++;
}
}

帮忙看看,哪里又错误。

main函数里面初始化p,将“char *p="Jegged"; ”改为“char p[]="Jegged"; ”就行了 。


坚决不跟用TC的人打交道!
2007-01-01 11:43
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
````while(*)~~~~

是什么意思啊```

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-01-01 11:54
jinwenbobull
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-10-28
得分:0 
void connect(char *p1,char *p2);
#include<stdio.h>
void main(void)
{
char s1[]="Jegged",s2[]="Jin";
connect(s1,s2);
printf("%s",s1);
}
void connect(char *p1,char *p2)
{
int i=0;
while(*p1)
i++;
while(*p2)
{
*(p1+i)=*p2;
p2++;
i++;
}
*(p1+i)='\0';
}
这还有个类似的,看看哪里有错。

[此贴子已经被作者于2007-1-1 12:10:35编辑过]


个人主义者
2007-01-01 11:55
jinwenbobull
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-10-28
得分:0 
以下是引用死了都要C在2007-1-1 11:54:42的发言:
````while(*)~~~~

是什么意思啊```*s
'\0'的acs码为0,所以*s和*s!='\0'是等价的。

个人主义者
2007-01-01 11:58
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
得分:0 
void connect(char *s=p1,char *p2);
char *s=p1, 这里不理解.....



哎 时间....................
2007-01-01 12:11
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
得分:0 
以下是引用jinwenbobull在2007-1-1 11:55:37的发言:
void connect(char *p1,char *p2);
#include<stdio.h>
void main(void)
{
char s1[]="Jegged",s2[]="Jin";
connect(s1,s2);
printf("%s",s1);
}
void connect(char *p1,char *p2)
{
int i=0;
while(*p1) // while(*p1)改为while(*(p1+i))
i++;
while(*p2)
{
*(p1+i)=*p2;
p2++;
i++;
}
*(p1+i)='\0';
}
这还有个类似的,看看哪里有错。

[此贴子已经被作者于2007-1-1 12:33:30编辑过]


哎 时间....................
2007-01-01 12:32
fangly
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-8-26
得分:0 
以下是引用jinwenbobull在2007-1-1 11:13:26的发言:

void ch(char *s);
#include<stdio.h>
main()
{
char *p="Jegged";
ch(p);
printf("%s",p);
}
void ch(char *s)
{
while(*s)
{
if(*s>='A'&&*s<'Z')
*s+=32; /*好像+比*高级吧*,为什么可以这样写啊 */
s++;
}
}

帮忙看看,哪里又错误。


生活有你更精彩~
2007-01-02 12:09



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




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

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