C语言怎么控制输入?c输入格式是?

但是如何控制输入?

即只能输入大于等于1的整数,输入其他任何元素都报错(字符、 实型、负数等),怎么控制?

------解决方案--------------------

使用头文件ctype.h中的isdigit

if(isdigit(n)){

//......

}

printf里面的%和变量的一一对应关系

scanf里面的%和变量以及变量前加不加&的一一对应关系

是C代码中非常容易出错的地方,而且通常编译还不出错。

所以在编译源代码之前值得专门仔细检查一遍甚至多遍。

在每个最后不带\n的printf后面加fflush(stdout);

在每个不想受接收缓冲区旧内容影响的scanf前面加rewind(stdin);

另外请检查scanf的返回值。

仅供参考

#include

int main() {

int IP[4];

int i;

char c;

printf("请输入一个ip地址:");fflush(stdout);

while (1) {

rewind(stdin);

if (5==scanf("%d.%d.%d.%d%c",&IP[0],&IP[1],&IP[2],&IP[3],&c)) {

if (0<=IP[0] && IP[0]<=255

&& 0<=IP[1] && IP[1]<=255

&& 0<=IP[2] && IP[2]<=255

&& 0<=IP[3] && IP[3]<=255

&& '\n'==c) {

break;

} else printf("输入的ip地址格式不对!\n请重新输入:\n");

} else printf("输入的ip地址格式不对!\n请重新输入:\n");

}

for (i=0;i<4;i++) {

printf("IP[%d]=%d\n",i,IP[i]);

}

return 0;

}

如上,运行后占用内存约600M,执行delete[]和free后只降了一点,还会占用很大内存。希望有哪位前辈或者大神给指点指点,多谢。

------解决方案--------------------

mingw-g++ win下测试无问题。

是在linux下吧?不是释放了就立刻归还给系统的。

释放了就是已经还给系统了, 至于任务管理器中还显示占用那么多, 那只是系统性能计数器的问题.

(0)

相关推荐

  • C语言怎么才不会输入错误的while一直循环

    C语言使用while循环里面输入后,如果进入while条件判断不合理,就一直循环,不会让你再次输入的解决方法. 操作方法 01 比如while(scanf("%d",&a) ...

  • 电脑EXCEL日期怎么使用公式输入以及日期格式怎么修改

    Excel是我们经常使用的数据处理工具之一,我们有的时候会需要在表格中插入我们的日期,接下来小编就教大家怎么使用公式来插入日期,以及怎么更改日期的格式.具体如下:1. 首先我们打开电脑进入到桌面,然后 ...

  • Python语言如何实现字符的输入与输出

    Python语言是最受欢迎的一种语言,如何实现我们的字符串的输入与输出呢,下面小编给出方法. 操作方法 01 打开自己的Python语言编程的IDLE,具体的界面如下图所示. 02 在菜单栏中,单击& ...

  • c语言如何让字符一直输入直到回车

    c语言让字符一直输入直到回车结束,问题的关键是循环条件的把握,这里以linux平台的gcc编译器为例进行简要说明,具体可以参考以下内容. 一.用到的函数 01 输入的方法有很多,如果是一直输入字符,建 ...

  • c语言如何读取通过键盘输入的整数值

    学习c语言,如果仅仅输出显示并没有什么意思,下面小编就教大家如何读取通过键盘输入的值,模拟人机对话了. 操作方法 01 首先,点击桌面上的vc++6.0,打开c语言编程软件.也可以使用其他软件,小编这 ...

  • Excel输入带分数上下格式分数

    Excel输入分数,包括真分数.假分数.带分数.上下格式的分数.带横线的分数.带斜线的分数等各种格式的分数,本文演示Excel输入可以直接参与运算的分数和不能直接参与运算的分数两种情况. 1.Exce ...

  • C语言怎样接收double类型变量输入

    我们在使用C语言编写程序的时候,经常需要使用double类型,那么C语言如何接收double类型的数据呢?下面小编给大家分享一下. 操作方法 01 首先我们打开Dev C++软件,新建一个C语言项目, ...

  • 用R语言导入Excel xlsx及xls格式的数据

    向大家分享下用R语言导入xlsx及xls格式的数据的方法 操作方法 01 首先,导入R语言需要加载xlsx包,没有安装这个包的,请用下面的代码进行在线安装: install.packages(&quo ...

  • 在EXCEL表格中怎么输入0?输入0的两种方法

    有时候在excel中我们想输入007这些数字,显示的却只是7,那么0应该怎么输入呢?下面小编就为大家介绍excel输入0的两种方法,希望大家喜欢! 方法一: 1.选中要输入数字的区域,执行菜单栏“格式 ...