C语言while循环问题2?
#include<stdio.h>intmain(void){chara;charb;charc;intd=1;intf=2;while(d<f){scanf("%c",...
#include <stdio.h>
int main(void){
char a;
char b;
char c;
int d=1;
int f=2;
while(d<f){
scanf("%c",&a);
scanf("%c",&c);
scanf("%c",&b);
while(c=='!'){
printf("%c %c",a,b);
c='a';}
}
return 0;
}
为什么当第二次输入!时,while循环只运行一次?(不是连着输入两次!;是字符!字符这样输入的第二次) 展开
int main(void){
char a;
char b;
char c;
int d=1;
int f=2;
while(d<f){
scanf("%c",&a);
scanf("%c",&c);
scanf("%c",&b);
while(c=='!'){
printf("%c %c",a,b);
c='a';}
}
return 0;
}
为什么当第二次输入!时,while循环只运行一次?(不是连着输入两次!;是字符!字符这样输入的第二次) 展开
3个回答
展开全部
首先明确scanf的作用,scanf从输入流中获取需要的数据,scanf中格式控制为%c的时候,scanf将从输入流中取得一个数据,并将这个数据放在某一个地址的空间中,你输入两次'!',可能被第一个while中的三个scanf吃干净了,但最重要的是,你的scanf很明显写错了,第二个参数是一个地址,你这运行必错。
更多追问追答
追问
不是连着输入两次!;是字符!字符这样输入的第二次
追答
你scanf写错了,改了吗,你的'!'是用来确定什么时候输入结束的吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询