c语言如何实现两行输入

printf("Isthefirstnumberanint(y/n)?");scanf("%c\n",&c1);printf("Isthesecondnumberint(... printf("Is the first numberan int (y/n)? ");
scanf("%c\n",&c1);
printf("Is the second number int (y/n)? ");
scanf("%c",&c2);
像这个情况我怎么完成两次输入,而不会只输入一次按回车就跳到下一句了
展开
 我来答
帐号已注销
2020-11-06 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:160万
展开全部

如果要\n,那么得输入两个回车。如果没有\n,输入一次之后第二个没输入就结束。

#include<stdio.h>

int main() 

{

char c1,c2;  

printf("Is the first numberan int (y/n)? "); 

scanf("%c",&c1);

printf("Is the second number int (y/n)? ");

scanf("%c",&c2);

scanf("%c",&c2);

}

因为scanf把输入的回车也输入了一次,所以中间再读一下,把回车读掉。

扩展资料:

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

参考资料来源:百度百科-c语言

tattackor
推荐于2017-09-26 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:867万
展开全部

可以使用两个gets函数,实现两行输入。

1、gets函数:
原型:char * gets(char * buffer);
功能:从stdin流中读取字符串,直至读到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为 \0 空字符,并以此结束字符串;
说明:当使用unicode宽字符文本时,请使用宽字符版本函数 _getws()。gets函数可以无限读取,不会判断上限,所以使用时应确保buffer的空间足够大,以便在执行读取操作时不发生溢出。gets函数在C11标准中被移除,改为更加安全的gets_s函数;
头文件:stdio.h;
返回值:若读入成功,返回与参数buffer相同的字符指针。若读入过程中遇到EOF或发生错误,返回NULL指针。所以当遇到返回值为NULL的情况时,应使用ferror或feof函数检查是发生错误还是遇到EOF。
2、例程:

#include <stdio.h>
int main(){
    char buffer[5];//定义缓存字符数组buffer
    gets(buffer);//用gets函数从stdin流中读入字符串,因为buffer长度是5,输入不能超过4个字符
    printf("%s",buffer);//在stdout流中输出读入的字符串
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
df601562566
推荐于2017-09-03 · TA获得超过502个赞
知道小有建树答主
回答量:351
采纳率:100%
帮助的人:337万
展开全部
明白你的意思,如果要\n,那么得输入两个回车。
如果没有\n,输入一次之后第二个没输入就结束了。

你可以尝试用getchar()
更多追问追答
追问
在我第一次输入的后面再打一个\n吗?
追答
#include<stdio.h>
int main() 
{
  char c1,c2;  
  printf("Is the first numberan int (y/n)? "); 
  scanf("%c",&c1);
  printf("Is the second number int (y/n)? ");
  scanf("%c",&c2);
  scanf("%c",&c2);
 }
因为scanf把输入的回车也输入了一次,所以中间再读一下,把回车读掉。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cctvtomcom
2013-10-11
知道答主
回答量:51
采纳率:0%
帮助的人:28.1万
展开全部
回车符也是一个字符,使用%c读入字符时一定要考虑回车是一个符号,设计程序时避免把回车符也读入到你设计的变量中云,再有,scanf()函数中,不要加"\n",否则输入的数据将被错误读入,除非你在输入的末尾加上\n两个符号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谢3哥
2013-10-11 · TA获得超过119个赞
知道小有建树答主
回答量:402
采纳率:33%
帮助的人:139万
展开全部
什么意思,你这个代码,就是输入一次 ,回车 ,输入下一次呀
如果你想同时输入两个,可以这样
scanf("%c,%c\n",&c1,&c2);
更多追问追答
追问
问题是,我输入第一次,然后回车,它就直接跳过第二次了,然后就开始下面的计算了
追答
scanf("%c\n",&c1);
改成
scanf("%c",&c1);

printf("\nIs the second number int (y/n)? ");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式