| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 505 人关注过本帖
标题:字符相关
只看楼主 加入收藏
gao_guai
Rank: 2
等 级:论坛游民
帖 子:73
专家分:16
注 册:2011-6-5
收藏
 问题点数:0 回复次数:7 
字符相关
#include <math.h>
void main()
{
    char c1,a[100],b[100],j;
    int i;
    gets(a);
    for(i=0;i<100&&(c1=a[i])!='\0';i++)
    {
        b[i]=a[i];
        if(c1>='A'&&c1<='Z')
        {
            j=c1-65+1;
            c1=c1+(26-j+1)-j;
        }
        else if(c1>='a'&&c1<='z')
        {
            j=c1-97+1;
            c1=c1+(26-j+1)-j;
        }
        printf("%c",c1);
      //  b[i+1]='\0';
    }
        printf("\n");
    for(i=0;i<100;i++)//&&b[i]!='\0'去掉,为什么还有乱码
        printf("%c",b[i]);
    printf("\n");
}
搜索更多相关主题的帖子: include 
2011-06-28 14:37
nan1888
Rank: 2
等 级:论坛游民
帖 子:44
专家分:86
注 册:2011-6-19
收藏
得分:0 
#include<stdio.h>
#include <math.h>
void main()
{
    char c1,b[100],j;
    int i;
    char a[100];

    gets(a);
    for(i=0;i<100&&(c1=a[i])!='\0';i++)
    {
        b[i]=a[i];
        if(c1>='A'&&c1<='Z')
        {
            j=c1-65+1;
            c1=c1+(27-j)-j;
        }
        else if(c1>='a'&&c1<='z')
        {
            j=c1-97+1;
            c1=c1+(27-j)-j;
        }
        printf("%c",c1);
      //  b[i+1]='\0';
    }
        printf("\n");
   

}
2011-06-28 21:22
nan1888
Rank: 2
等 级:论坛游民
帖 子:44
专家分:86
注 册:2011-6-19
收藏
得分:0 
for(i=0;i<100;i++)//&&b[i]!='\0'去掉,为什么还有乱码
        printf("%c",b[i]);
    printf("\n");
。。。b[i]没有赋值。。。所以乱码
2011-06-28 21:23
gao_guai
Rank: 2
等 级:论坛游民
帖 子:73
专家分:16
注 册:2011-6-5
收藏
得分:0 
回复 3楼 nan1888
不是把a[i]全部赋值给b[i]了吗?只不过没有赋\0
最后也能出结果,只不过结果后面还跟着乱码
2011-06-29 09:52
落叶风
Rank: 2
等 级:论坛游民
帖 子:22
专家分:53
注 册:2011-6-22
收藏
得分:0 
for(i=0;i<100;i++)
        printf("%c",b[i]);
这样将把b[i]数组中的数据都输出,包括那些没赋值的元素,肯定有乱码啊
应该把最后一个元素赋值'\0'.
for(i=0;i<100&&b[i]!='\0';i++)
        printf("%c",b[i]);
2011-06-29 19:41
Heart→M鹏
Rank: 2
等 级:论坛游民
帖 子:80
专家分:94
注 册:2011-5-13
收藏
得分:0 
程序代码:
#include <math.h>
#include<stdio.h>

 main()
{
    char c1,a[100],b[100],j;
    int i;
    gets(a);
    for(i=0;i<100&&(c1=a[i])!='\0';i++)
    {
        b[i]=a[i];
        if(c1>='A'&&c1<='Z')
        {
            j=c1-65+1;
            c1=c1+(26-j+1)-j;
        }
        else if(c1>='a'&&c1<='z')
        {
            j=c1-97+1;
            c1=c1+(26-j+1)-j;
        }
        printf("%c",c1);
    }
        printf("\n");
    for(i=0;i<100&&b[i]!='\0';i++)
        printf("%c",b[i]);
    printf("\n");
} 
没乱码了如果没有那个b[i]!='0'的话就像楼上说的那些没赋值的元素会以乱码形式出来···

[ 本帖最后由 Heart→M鹏 于 2011-6-29 20:29 编辑 ]
2011-06-29 20:24
nan1888
Rank: 2
等 级:论坛游民
帖 子:44
专家分:86
注 册:2011-6-19
收藏
得分:0 
回复 6楼 Heart→M鹏
现在一样有乱码
2011-06-29 21:26
nan1888
Rank: 2
等 级:论坛游民
帖 子:44
专家分:86
注 册:2011-6-19
收藏
得分:0 
回复 5楼 落叶风
一样乱码的
2011-06-29 21:26
快速回复:字符相关
数据加载中...
 
   



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

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