黑马程序员技术交流社区
标题:
高手进 c语言的问题
[打印本页]
作者:
dmadboy
时间:
2016-3-14 10:54
标题:
高手进 c语言的问题
使用这3个语句实现下列功能,可以使用循环分支等语句
char ch;
scanf("%c",&ch);
printf("%c",ch)
使之输入下列字符(包括换行)
void main()
{
printf("hello world");
}
输出同样字符
示例:
#include <stdio.h>
#include <stdlib.h>
void main()
{
char ch;
while(ch!='#')
{
scanf("%c",&ch);
printf("%c",ch)
}
printf("\n程序结束\n");
}(本程序问题在于按下回车键后,立马输出字符,无法实现所有字符同时输出)
作者:
喧闹的世界
时间:
2016-3-14 15:15
你的while方法体有问题,在输入后马上跟输入,当然是输入一个输入一个。提供一下方法参考:
int main(int arg,char* argv[])
{
//输入字符临时存储
char inputtmp;
//所有输入字符存储位置,最大1024
char output[1024];
//输入字符计数
int count = 0;
printf("请输入一串字符,并以#结尾。(注:字符串中途不能包含#)");
//当输入字符为#时,结束输入
while(inputtmp != “#")
{
scanf("%c",&inputtmp);
output[i] = inputtmp;
}
//循环输出所有字符
for(int j = 0; j < i; j++)
{
printf("%c",output[j]);
}
printf("\n");
printf("Game Over\n");
ps:手打的,有错自己调下。满意记得给幸苦费哦!
作者:
dmadboy
时间:
2016-3-14 19:29
谢谢作答,我明白你的意思,只不过我的意思是,不用字符数组,只用字符变量来实现,就是一个小程序,就像我写的那个小程序差不多,就是回车键以后继续输入,而不把之前的输出,我的意思懂了吗?所以我的思想就是可不可以把回车键屏蔽掉, 然后bla……bla…………
作者:
唐玄玄
时间:
2016-3-14 21:30
#include <stdio.h>
#include <stdlib.h>
void main()
{
char ch;
while(ch!='#')
{
scanf("%c",&ch);
if(ch=='\r')
continue;
printf("%c",ch)
}
printf("\n程序结束\n");
是不是这样的
作者:
dmadboy
时间:
2016-3-15 09:51
我运行了一下,还是不行,跟之前的代码运行结果一模一样,所以我觉得看来只能用字符数组实现了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2