标题:do-while 是如何控制指针+1 的呢?
取消只看楼主
rsice
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-8-24
结帖率:100%
已结贴  问题点数:20 回复次数:2 
do-while 是如何控制指针+1 的呢?
以下这段代码是C语言编程精要12讲里面一段关于加密字符的代码,我试了一下,可以加密,但是有个问题一直没搞明白,就是do-while语句里,怎么控制程序读取下一个字符呢?比如我输入apple,第一次读取了a,while条件也符合循环的条件,那么第2次循环时怎么保证读取p而不是a呢?内部自动+1?求教!
#include <Stdio.h>
#include <stdlib.h>

int main(void)
{
    char c1;
    int d;
    do
    {
        scanf("%c",&c1);
        if(c1>='a' && c1<='z')
        {
            d=c1-'a';
            c1='z'-d;
        }
        printf("%c",c1);
    }while(c1!='\n');

    system("pause");
    return 0;
}
搜索更多相关主题的帖子: include apple C语言 如何 加密 
2014-08-27 23:56
rsice
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-8-24
得分:0 
回复 5 楼 书生等待
但问题是,我是一次性输入apple,然后回车,然后一次性显示加密后的字符,并不是我输入a的时候,程序显示加密后的字符,然后我输入p,程序显示加密后的字符~~~
2014-08-28 21:59
rsice
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-8-24
得分:0 
回复 2 楼 apull
我刚才调试了一下,确实是循环读入的,但问题就在于,为什么程序知道已经读过a了,要读取p了呢?或者说,在这个程序中,怎么知道是要读取的字符呢?

[ 本帖最后由 rsice 于 2014-8-28 22:45 编辑 ]
2014-08-28 22:00



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




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

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