C语言怎么判断输入的是一个空行?
展开全部
scanf("%d",×);
ch=getchar();
我这样写。怎么输入一个数就结束了?
没有执行getchar?
你没执行getchar()是因为scanf在读取的时候是不读换行符的,也就是你输入结束那个回车,所以这个回车留在了缓冲区中,被接下来的getchar()给读去了,不是他没执行,是没按你的想法去执行,你可以再加一个getchar()验证一下。
ch=getchar();
我这样写。怎么输入一个数就结束了?
没有执行getchar?
你没执行getchar()是因为scanf在读取的时候是不读换行符的,也就是你输入结束那个回车,所以这个回车留在了缓冲区中,被接下来的getchar()给读去了,不是他没执行,是没按你的想法去执行,你可以再加一个getchar()验证一下。
更多追问追答
追问
那怎么判断输入的是不是空行?
追答
这个我还真没试过。好久不写C了,你尝试下判断scanf的返回值来看看输入的是不是空行呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char buf[256];
scanf("%s", &buf);
int i = 0;
while (i < 256 && buf[i] == ' ') { // 判断一行中有空格的空行
i++;
}
if (buf[i] == '\0') { // 判断指定字符数组索引是否为 null 字符
printf("未输入任何内容!");
} else {
// 处理输入内容
]
scanf("%s", &buf);
int i = 0;
while (i < 256 && buf[i] == ' ') { // 判断一行中有空格的空行
i++;
}
if (buf[i] == '\0') { // 判断指定字符数组索引是否为 null 字符
printf("未输入任何内容!");
} else {
// 处理输入内容
]
追问
我的问题是先要输入一个数字,然后输入一个空行(没有空格)。然后再后续操作。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char c = getchar();
if( c ="" )
printf("空字符");
if( c ="" )
printf("空字符");
更多追问追答
追问
int times;
char ch;
scanf("%d",×);
ch=getchar();
我这样写。怎么输入一个数就结束了?
没有执行getchar?
追答
scanf函数不能用来输入空格,输入字符的话做好用getchar(),用scanf输入字符串会出现很多问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询