c语言 如何做到只能输入数字,输入其他的,比如字母。就会提示重新输入。

Python014

c语言 如何做到只能输入数字,输入其他的,比如字母。就会提示重新输入。,第1张

你的test1函数更改如下:

int test1()

{

char s[20]

int num = 0,n,len,i

while(1) {

  printf("请输入一个整数 : ")

gets(s)

len = strlen(s)

//for(n = 0 s[n] == '0' ++n)

num = 0 //每次输入前,要确保num=0

for(i = len-1 i >= 0 --i)

{

if((s[i] < '0') || (s[i] > '9'))

{

printf("输入错误,重新输入。\n")

break                              //

}

  num = 10 * num + s[i] - '0'                                    //

}

      if(i < 0)

break

}

  //for(n = 0 s[n] == '0' ++n)

  input = num 

  return 0

}

不知道你指的是输入一个数字字符还是一串

下面是输入一个数字或字符的

#include

int

main()

{

char

c,c1

while(1)

{

c=getchar()

c1=getchar()

//你打一个非数字时要按回车,回车本身也是一个字符,

用c1接收回车,以免打一个字符输出两个error

if(c>='0'&&c<='9')

break

printf("error!\n")

}

}