| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 722 人关注过本帖
标题:字符串转换问题
只看楼主 加入收藏
yudeyinji198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:133
注 册:2012-8-30
结帖率:96%
收藏
已结贴  问题点数:5 回复次数:26 
字符串转换问题
你们好,写了个字符串转换的代码,功能主要是,读进一个字符串,把字符串大写部分改为*,然后输出,编译通过了,运行却崩溃,请问能否指点下呢?

代码:
#include<stdio.h>
#include<stdlib.h>

//转换
void chang(char *str)
{
    while(*str!='\0')
    {
        if((*str>='A') && (*str<='Z'))//判断
    {
        *str='*';
        *str++;
    }
    }
}
int main()   
{
 char *str;
 str=(char *)malloc(30);
 str=(char *)getchar();//读进
 chang(str);
 printf("%s\n",str);
 system("pause");
 return 0;
}
搜索更多相关主题的帖子: void include 字符串 chang 
2012-11-12 15:10
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
知道了
#include<stdio.h>
#include<stdlib.h>

//转换
void chang(char *str)
{
    while(*str!='\0')
    {
        if((*str>='A') && (*str<='Z'))//判断
    {
        *str='*';
        
    }
    *str++;
    }
}
int main()   
{
char *str;
str=(char *)malloc(30);
str=(char *)getchar();//读进
chang(str);
printf("%s\n",str);
system("pause");
return 0;
}

自由、民主、宪政!
2012-11-12 15:13
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
也就是不管*str 是不是大写   都要自增  。。

自由、民主、宪政!
2012-11-12 15:14
yudeyinji198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:133
注 册:2012-8-30
收藏
得分:0 
回复 3楼 lwb603569640
换了,还是不行哦!
2012-11-12 15:16
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>

//转换
void chang(char *str)
{
    while(*str!='\0'){
        if((*str>='A') && (*str<='Z')){
        *str='*';
        }
        *str++;
    }
}
int main()    
{
  char *str1, *str2;
  str=(char *)malloc(30);
  str2=str1;
  *str=getchar();//读进
  chang(str1);
  printf("%s\n",*str2);
  system("pause");
  return 0;
}

自由、民主、宪政!
2012-11-12 15:18
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
回复 4楼 yudeyinji198
刚才失误  没看清楚

5楼最新版本

自由、民主、宪政!
2012-11-12 15:19
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
还是错的  我再看看

自由、民主、宪政!
2012-11-12 15:21
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>

//转换
void chang(char *str)
{
    while(*str++!='\0'){
        if((*str>='A') && (*str<='Z')){
        *str='*';
        }
    }
}
int main()    
{
  char str1[]="asdfHHHHjkl", *str2;
  
  str2=str1;
  chang(str1);
  printf("%s\n",str2);
  return 0;
}


好了 你根据这个可以改改

自由、民主、宪政!
2012-11-12 15:28
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>

//转换
void chang(char *str)
{
    while(*str!='\0'){
        if((*str>='A') && (*str<='Z')){
        *str='*';
        }
        str++;
    }
}
int main()    
{
  char *str1, *str2;
  str1=malloc(100);
  str2=str1;
  printf("输入字符串: ");
  gets(str1);
  chang(str1);
  printf("%s\n",str2);
  return 0;
}


最终版本

自由、民主、宪政!
2012-11-12 15:32
lwb603569640
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:283
专家分:436
注 册:2012-11-9
收藏
得分:0 
  return 0;上加一句free(str1)

自由、民主、宪政!
2012-11-12 15:34
快速回复:字符串转换问题
数据加载中...
 
   



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

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