C语言,要求只能输入数字,输入其它的会提示错误,重新输入

# include<stdio.h>
int main (void)
{
int i;
printf ("请输入一个数字: ");
scanf ("%d", &i);
printf ("%d",i);
return 0;
}要求只能输入数字,输入其它的会提示错误,重新输入,应该加入什么语句

这个 很简单
int main (void)
{
int i,r;
printf ("请输入一个数字: ");
r=scanf ("%d", &i);
if(r==0)
printf("输入错误,重新输入");
else
printf ("%d",i);
return 0;
}
有不懂的问我。追问

这是什么原理呢,r=scanf ("%d", &i);怎么理解这句话?

追答

r=scanf ("%d", &i); 代表运行scanf函数,且将scanf函数的返回值赋给r; scanf函数返回值是0,代表没有输入我们设置的数据类型的数

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-10
下面是输入一个数字或字符的
#include<stdio.h>
int main()
{
char c,c1;
while(1)
{
c=getchar();
c1=getchar();
if(c>='0'&&c<='9')
break;
printf("error!\n");
}
第2个回答  2013-07-02
你编的这个程序就只能输入数字,输入娶她都程序运行不了的,
第3个回答  2023-06-01
如果不能输入字母呢

C语言,要求只能输入数字,输入其它的会提示错误,重新输入
这个 很简单 int main (void){ int i,r;printf ("请输入一个数字: ");r=scanf ("%d", &i);if(r==0)printf("输入错误,重新输入");else printf ("%d",i);return 0;} 有不懂的问我。

c语言 如何做到只能输入数字,输入其他的,比如字母。就会提示重新输入...
{ printf("您输入的是%s\\n",s);break;} } }

...5,这5个数,输入其他的都提示输入错误重新输入,谢谢,初学
scanf后,对获取的变量简单判断一下就好了,if(x>5||x<1) printf("Input Error") ,再重新scanf一下就好了。

c语言控制输入的只能是数字,输入其他的就提示错误,
include <stdio.h>int main(){char a;scanf("%c",&a);if(a>='0'&&a<='9')printf("Right\\n");elseprintf("Error\\n");}

...中怎么让输入的数只能为数字,不能为字母,如果是字母就重新输入!
void main(){ char* ch=(char*)malloc(100*sizeof(char));scanf("%s",ch);int num;num=atoi(ch);if(0==num){ if('0'==*ch)printf("%d\\n",num);else printf("您输入了非数字");} else { printf("%d\\n",num);} } 已进过测试 有几点需注意 1输入数值不能超过100位数值,...

C语言中输入数字时却输入了字母的容错问题
{ printf("请选择你需要操作的步骤(1--9):\\n");if(!scanf("%d",&n)){ printf("\\n您输入有误,请重新选择!\\n");fflush(stdin); flag = 0;} if(n>=1 && n<=9) \/*判断输入数字的合法性*\/ { flag = 1;break;} break;\/\/<---这里有个break,当然只能一次 }while(flag =...

C语言规定一个字符串只能输入汉字,输入其他报错
include<stdio.h>void main() { char str[256],*p; int b=0; gets(str); p=str; while( *p ) { if ( *p>0 ) { b=1; break; } p++; } if ( b ) printf("输入字符串中存在非汉字字符。\\n");}

...判断,输入的是数字。如果不是则输出重新输入的信息。 如不能输入...
include <stdio.h>#include <ctype.h>#include <stdlib.h>#include <string.h>int main(){ char str[10]; int bad_flg = 0; \/\/输入错误 do { printf("请输入数字\\n"); gets(str); int len = strlen(str); for (int i = 0; i < len; i++) { ...

linux下写c语言,怎么实现只能输入数字
没办法让其他字符不能输入 但是可以在输入其他字符时报错 比如 int n;while(1){ if(scanf("%d",&n) != 1) { printf("invalid input \\n"); while(getchar()!='\\n');\/\/忽略输入错误的字符。 } else break;} ...

C语言 只能输入数字问题
char *read(void);int check(const char *);int main(void){ float a;int b;char *s;do \/\/do-while循环用于实现读取到错误信息时,重复读取 { s=read(); \/\/以字符串形式读取 b=check(s); \/\/判断是否包含其它字符 if (!b) puts("Error! Re-Input Please!");}while (!b)...

相似回答