当前位置: 代码迷 >> C语言 >> 一个译密码的问题
  详细解决方案

一个译密码的问题

热度:40   发布时间:2006-11-01 11:15:29.0
一个译密码的问题

潭浩强那本C语言中有一个例题;译密码:既将字母变成其后第四个字母,W变成A,X变成B,Y变成C,Z变成D...非字母字符不变.如China! 变成 Glmre!
程序如下:
#include <stdio.h>
void main()
{
char c;
while ((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
c=c+4;
if(c>'Z'&&c<='Z'+4||c>'z')
c=c-26;
}
printf("%c",c);
}
printf("\n");
}

运行结果如下:
input : China!
output: Glmre!

我的问题:为什么不是输入一个字符就输出一个密码,而是全部输完后才一次性处理?

搜索更多相关的解决方案: 密码  

----------------解决方案--------------------------------------------------------
因为你判断到'\0'啊。。。。
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
char c;
while ((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
c=c+4;
if(c>'Z'&&c<='Z'+4||c>'z')
c=c-26;
}
printf("%c",c);
}
printf("\n");
}
那是因为最后一个printf不包含在while循环中!
----------------解决方案--------------------------------------------------------
while真正原理不很懂。本人想知道while是由那些汇编语句组成,那位高人能提出见解啊。

[此贴子已经被作者于2006-11-2 21:58:53编辑过]



----------------解决方案--------------------------------------------------------
你调试看看不知道了/

----------------解决方案--------------------------------------------------------
-。-这个是LZ自己认为的吧。其实在内存中就是输入1个处理1个的!
----------------解决方案--------------------------------------------------------
以下是引用lyf320在2006-11-2 21:41:47的发言:
#include <stdio.h>
void main()
{
char c;
while ((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
c=c+4;
if(c>'Z'&&c<='Z'+4||c>'z')
c=c-26;
}
printf("%c",c);
}
printf("\n");
}
那是因为最后一个printf不包含在while循环中!

但是第一个PRINTF是在循环内的吧,既然如此,那么就应该循环一次就输出一次吧,即输入一个字符就输出一个密码


----------------解决方案--------------------------------------------------------
以下是引用走刀口→超在2006-11-3 10:44:00的发言:
-。-这个是LZ自己认为的吧。其实在内存中就是输入1个处理1个的!

我知道这在内存中是一一处理的,但是为什么PRINTF却不是立即反映呢?难道说PRINTF的语句是先在后台运行,然后再一起反应到显示上来的?






----------------解决方案--------------------------------------------------------
继续顶,还是不明白
----------------解决方案--------------------------------------------------------
既然没有规定输入的个数那么就应该可以输入一个字母就输出他相应的字符啊.
你还是试试可那再调试.
----------------解决方案--------------------------------------------------------
  相关解决方案