首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[C/C++][原创]C++ helloworld一个低级错误输入数据回车窗口闪退解决方法

[C/C++][原创]C++ helloworld一个低级错误输入数据回车窗口闪退解决方法

作者头像
git clone firc-dataset
发布2025-07-18 17:45:47
发布2025-07-18 17:45:47
1090
举报

参考网上:

代码语言:javascript
复制
#include <stdio.h>
#include<stdlib.h>

int main(){

	long n, j;
	int count = 0;
	printf("please input number:");
	scanf_s("%d", &n);
	j = n;
	while (n != 0){
		n = n / 10;
		count++;
	}

	printf("input number is:%d, len is:%d\n", j, count);
	return 0;
}

结果回车后一闪而过,显然自己退出了,要加个阻塞,于是

代码语言:javascript
复制
#include <stdio.h>
#include<stdlib.h>

int main(){

	long n, j;
	int count = 0;
	printf("please input number:");
	scanf_s("%d", &n);
	j = n;
	while (n != 0){
		n = n / 10;
		count++;
	}

	printf("input number is:%d, len is:%d\n", j, count);
	getchar();
	return 0;
}

加了getchar()结果还是一闪没了,怎么都想不通原来是个低级错误,因为getchar()获得一个字符包括回车符,结果可想而知就退了,正确方法如下:

代码语言:javascript
复制
#include <stdio.h>
#include<stdlib.h>

int main(){

	long n, j;
	int count = 0;
	printf("please input number:");
	scanf_s("%d", &n);
	j = n;
	while (n != 0){
		n = n / 10;
		count++;
	}

	printf("input number is:%d, len is:%d\n", j, count);
	system("pause");
	return 0;
}

应该是system这个函数。看起来getchar还要慎用,尤其在输入数据集时候

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档