| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 515 人关注过本帖
标题:关于条件编绎,,为什么字符应该后移一位的却没后移?
只看楼主 加入收藏
鸿飞冥冥
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:48
专家分:124
注 册:2011-8-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
关于条件编绎,,为什么字符应该后移一位的却没后移?
程序代码:
#include<stdio.h>
#define MAX 80
#define CHANGE 1
void main()
{
    char str[MAX];
    int i;
    printf("请输入:\n");
    gets(str);
    #if(CHANGE)
    {
        for(i=0;i<MAX;i++);
        {
            if(str[i]!='\0')
                if(str[i]>='a'&&str[i]<'z'||str[i]>='A'&&str[i]<='Z')str[i]+=1;
            else if(str[i]=='z'||str[i]=='Z')str[i]-=25;
           
        }
    }
    #endif
    printf("输入为:\n%s\n",str);
}
求大神们帮看看,,为什么不管CHANGE是1还是0都不能让字符后移?
2011-09-16 17:21
statics
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:163
专家分:625
注 册:2011-8-29
收藏
得分:20 
void main()
{
    char str[MAX];
    int i;
    printf("请输入:\n");
    gets(str);
    #if(CHANGE)
    {
        for(i=0;i<MAX;i++);//问题在这里,这个分号不该加,加了以后,下面的代码就不属于循环体了
        {//此时循环已完成,i=max,所以。。。。
            if(str[i]!='\0')
                if(str[i]>='a'&&str[i]<'z'||str[i]>='A'&&str[i]<='Z')str[i]+=1;
            else if(str[i]=='z'||str[i]=='Z')str[i]-=25;
           
        }
    }
    #endif
    printf("输入为:\n%s\n",str);
}

惟我独行...
2011-09-16 17:32
鸿飞冥冥
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:48
专家分:124
注 册:2011-8-14
收藏
得分:0 
谢谢

Sickcat
2011-09-16 18:07
鸿飞冥冥
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:48
专家分:124
注 册:2011-8-14
收藏
得分:0 
谢谢

Sickcat
2011-09-16 21:23
快速回复:关于条件编绎,,为什么字符应该后移一位的却没后移?
数据加载中...
 
   



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

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