当前位置:首页 » 编程语言 » c语言多输报错
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言多输报错

发布时间: 2023-04-13 09:10:05

c语言 只能输入数字,输入其他就提示输入错误,请重新输入怎么弄

不知道宏禅你指的是输入一个数蔽租尘字或字符还是一串
下面是输入一个数字或字符的
#include
int
main()
{

char
c,c1;

while(1)

{

c=getchar();

c1=getchar();
//你打一个非数字时要按回车,回车本身也是一个字符,

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

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

break;

printf("error!\n");

}
}

⑵ C语言编程,用for循环和scanf输入数组,一点回车电脑就报错(只能输两行),求高手指点。

楼上的人虽然雀并档都很热心,可惜他们的代码要么是都没有经过测试就写上来,要么是牛头不对马嘴的乱贴代码上来。
你没贴代码上来,从你顷乱说的情况看来,你的问题出现在scanf函数上,这个函数你一定要小心使用,举个例子:
int a;
scanf("%d", &a); //后面一定是&a,不能是a,&a代表a的内存地址,scanf要求输入数蔽余据是存入a的内存地址。
对于数组也一样,比如一个10个元素的数组,你要从键盘输入。你可以这样:
int a[10];
int i;
for(i = 0; i < 10; ++i)
{
scanf("%d", &a[i]) //这里也可以写a + i但是从风格上说,不推荐这种不直观的风格
}

⑶ C语言中用指针的方法,输入30个数字分成10行每行3个输出报错

  1. scanf()用来将整数输歼顷入到数组元素中,第二个参数必须为数组元素的地址,因此应修氏察陆改为:scanf("%d",&a[i]);

  2. main()中的函数调用print(a,*p) ;第二个参数按你的函数定义必须传递的是指向int的指针,而不没银是int。因此,应修改为print(a,p);

  3. if(n/3==0)必须修改为if(n%3==0)

⑷ c语言中数据输入错误了如何提示输入错误并实现要求重新输入

可以使用清理输入流fflush(stdin);这个原因是因为错误输入的内容会保留在输入流,下一次判断会从输入流开始读取,因为错误输入的内容还在,所以直接判断错误,继续循环。

但有些编译器并不支持清理输入流。所以我们这时需要用手动输入让其清除。使用getchar();让其接收错误的字符。但这样就会变成这样,如果输入多个错误就会出现多个次数的循环;直至没有错误输入;这样如果循环内容多,所消耗的资源也就多了。

所以可以使用while()来执行里面的消除字符,但如果直接这样while(getchar())就会进入无限循环,所以可以让其接收一个终止条件,每次输入完都会按回车,那就让其接收' '换行符终止自己的循环。

(4)c语言多输报错扩展阅读

C语言从键盘输入数据

程序是人机交互的媒介,有输出必然也有输入。在C语言中,有多个函数可以从键盘获得用户输入兄州:

scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。

getchar()、getche()、getch():这三个函数都用于输入单个字符。简冲

gets():获取一行数据,并作为字符串处理。

scanf() 是最灵活、最复杂、最常用的输入函数,但它不能完全取代其他函数,大家都要有所了解。scanf 是 scan format 的缩写,意思是格式化扫描,也就是从键盘获得用户输入。

gets() 会读取用户输入的整行内容,包括空格。而 scanf() 遇到空格就结束羡咐蔽读取,也就是说,使用 scanf() 读取的字符串中永远不会包含空格。

⑸ Visual Studio 2010写C语言scanf输入多项值就会出错!输完第一个回车便报错。

问题的关键是scanf函数的运行机制:
当连续进行数值与字符的输竖碰悉入时,一旦输余乎入的不是数字或小数点,系统就将它解释为字符,赋给了后面的字符变量。
程序中你用scanf( "%f ",&num);(尽管有printf一名,但没有作用)后面跟着又scanf( "%c "吵如,&people);时,系统将你的输入num后的回车(或空格)赋给了people。因此程序不能正确执行。
当你用%s输入时,系统是将空格或回车解释为前一项结束,后一项开始,因此可以正确执行程序。
要解决这个问题,你可将字符的输入换成:
people=getche();
lab=getche();
应能解决。

⑹ c语言在输入数据后就报错崩溃了怎么办

#include <stdio.h>
#include <stdlib.h>
int main()
{
float c1;
scanf("c1=%f",c1);//注意这一行返升,有两点可能会导致以上问题,输入时必须按c1=%f格式进行输入,其次,输入后的值是要存谈世宴储到变量c1中的,含银所以c1应改为&c1,即scanf("c1=%f",&c1);
printf("%f\n",c1);
system ("pause");//这个函数是调用命令行的,一般要在windows.h头文件中申明一下
return 0;
}

⑺ c语言scanf函数判断输入的数超过多少时报错

int scanf( const char *format, ... );