首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于printf跟gets

2013-10-07 
关于printf和getsprintf(请输入明文:\n)gets(dtext)printf(请输入密钥:\n)gets(key)这里的运行结

关于printf和gets
    printf("请输入明文:\n");
    gets(dtext); 
    printf("请输入密钥:\n");
    gets(key);



这里的运行结果是:关于printf跟gets
有没有办法在输入明文之后再显示“请输入密钥”?
[解决办法]
......
你这里是因为你前面的 输入 1[回车]
1读取 回车留在缓冲区
后面的第一个gets直接读取 回车 然后就返回 
你的dtext已经完成输入 内容是 "\n"

[解决办法]
你的代码已经可以达到的吧!

另外不要用gets了, 用fgets吧!安全!
[解决办法]

char dtext[100];
char key[32];
printf("请输入明文:");fflush(stdout);
rewind(stdin);
fgets(dtext,100,stdin); 
if ('\n'==dtext[strlen(dtext)-1]) dtext[strlen(dtext)-1]=0;
printf("请输入密钥:");fflush(stdout);
rewind(stdin);
fgets(key,32,stdin);
if ('\n'==key[strlen(key)-1]) key[strlen(key)-1]=0;

热点排行