| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 875 人关注过本帖
标题:请教一个关于乱码的问题
只看楼主 加入收藏
DEMO一步两步
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-4-4
收藏
 问题点数:0 回复次数:4 
请教一个关于乱码的问题
程序代码:
#include<stdio.h>
int main()
{
    char s[80],*p,*t;
    printf("please input string:\n");
    gets(s);
    p=t=s;
    while(*p!='\0')
        p++;
    for(p--;t<=p;t++)
    {
    *t+=32;
    t++;
    }
    puts(s);

    return 0;

}

[local]1[/local]


用于
编写一个程序,将一个字符串中所有奇数位置上的大写字母转换为小写字母。
如:字符串AB?2cDEf将转换为aB?2cDef

输入这个字符串,出现了乱码。。。






jhjg.png (10.09 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-04-04 16:04
DEMO一步两步
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-4-4
收藏
得分:0 
该怎么解决呢~~~

即使如此当我遇见了你
2016-04-04 16:05
DEMO一步两步
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-4-4
收藏
得分:0 
已解决

即使如此当我遇见了你
2016-04-04 16:20
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
以下是引用DEMO一步两步在2016-4-4 16:04:29的发言:

 
#include
int main()
{
    char s[80],*p,*t;
    printf("please input string:\n");
    gets(s);
    p=t=s;
    while(*p!='\0')
        p++;
    for(p--;t<=p;t++)
    {
    *t+=32;
    t++;
    }
    puts(s);
 
    return 0;
 
}
 
[local]1[/local]
 
 
用于
编写一个程序,将一个字符串中所有奇数位置上的大写字母转换为小写字母。
如:字符串AB?2cDEf将转换为aB?2cDef
 
输入这个字符串,出现了乱码。。。
 
 
 
 

问题的根源不是乱码,而是你没有对读入的字符进行判断(他是不是需要转换的大写字符),一次把所有字符的ASCII码+32,所以会出现大写字母成功变成小写的,而其他字母就变成一下我们理解之外的字符了。

φ(゜▽゜*)♪
2016-04-05 11:43
DEMO一步两步
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-4-4
收藏
得分:0 
回复 4楼 书生牛犊
谢谢

即使如此当我遇见了你
2016-04-09 13:25
快速回复:请教一个关于乱码的问题
数据加载中...
 
   



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

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