c语言scanf报错(C语言用scanf输入字符输出确实错误的)

本文目录
- C语言用scanf输入字符输出确实错误的
- 关于c语言scanf函数输入错误格式的问题
- C语言编程,使用scanf的时候,提示以下错误,可是我找不出原因,为什么
- c语言中为什么变量定义在scanf后面会报错
- 为什么我的笔记本电脑C语言程序执行scanf操作的时候总是会弹出系统错误
- c语言scanf函数判断输入的数超过多少时报错
- c语言 scanf用法错误
- C语言关于scanf输入错误循环的错误
C语言用scanf输入字符输出确实错误的
朋友,你没有加输入分隔符,空格,逗号都可以,你加上试试如果有其他错再说。这是最明显的错误(就是scanf中%c中间加)
我用的是TC,都是C语言,应该是一样的,希望能够帮助到你,注意在输入的时候也要用逗号隔开
关于c语言scanf函数输入错误格式的问题
scanf函数输入完成需要一个回车,getchar接收的是一个字符。
要么就是你输入的内容放入字符串中然后逐个比较。
要么你可以getchar每一个字符,然后转化成ascii码,通过判定数值区间来判定输入的字符是否为数字。
C语言编程,使用scanf的时候,提示以下错误,可是我找不出原因,为什么
有编译器,不支持在声明变量后,执行完其它语句,再临时声明变量的操作
你改一下就行了:
把i,j变量声明都放在最前面
#include “stdio.h“
int main()//最好加上返回值类型。
{
int i;
int j;
scanf(“%d“,&i);
printf(“i=%d\n“,i);
scanf(“%d“,&j);
printf(“j=%d\n“,j);
return 0;
}
c语言中为什么变量定义在scanf后面会报错
这是由于编译器对C语言标准的支持情况造成的。估计是你所用的编译器是按照C89标准执行的。
C89规定, 在C语言中, 变量的声明必须位于任何可执行语句之前;不过在C99以及C++中, 你可以在任何地方声明变量;解决方案:
1. 将文件的后缀名改为.cpp, 编译器将会以C++的方式编译他(注意: 不推荐这种方式);
2. 抛弃老版本的编译器, 换成新版;
3. 老老实实将变量全部声明在所有可执行语言的前面。
为什么我的笔记本电脑C语言程序执行scanf操作的时候总是会弹出系统错误
有编译器,不支持在声明变量后,执行完其它语句,再临时声明变量的操作
你改一下就行了:
把i,j变量声明都放在最前面
#include “stdio.h“
int main()//最好加上返回值类型。
{
int i;
int j;
scanf(“%d“,&i);
printf(“i=%d\n“,i);
scanf(“%d“,&j);
printf(“j=%d\n“,j);
return 0;
}
c语言scanf函数判断输入的数超过多少时报错
int scanf( const char *format, ... );
scanf()函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。
其调用格式为: scanf(“《格式化字符串》“,《地址表》);
scanf(“%d-%d-%d“,year,month,day),
如果year,month,day都被成功读入,那么scanf的返回值就是2
如果只有一个或者两个被成功读入,返回值为1
如果一个都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
且返回值为int型.
#include《stdio.h》
int main()
{
int year,month,day;
scanf(“%d-%d-%d“,&year,&month,&day);
printf(“%d-%d-%d“,year,month,day);
return 0;
}
注意这里scanf(“%d-%d-%d“,&year,&month,&day);必须为地址所以之前你的那个
scanf(“%d-%d-%d“,year,month,day),是不对的。
按照你说的再控制台输入2013-9-9-9按回车后,最后的-9会被舍弃直接将2013保存到year中,
9保存到month中,9保存到day中。
如果要判断输入的不是2013-9-9是报错的话,你可以这样子写。
#include《stdio.h》
int main()
{
int year,month,day;
if (scanf(“%d-%d-%d“,&year,&month,&day)!=1)
{
printf(“%d-%d-%d“,year,month,day);
}
else
{
printf(“数据读入出错!“);
}
return 0;
}
你输入10按回车就报错。
满意后给采纳哦,谢谢!
c语言 scanf用法错误
#include《stdio.h》
void main()
{
float a,b;
char c;
printf(“请输入运算数啊a,b\n“);
scanf(“%f%f“,&a,&b);
getchar();
printf(“请输入运算符\n“);
scanf(“%c“,&c);
switch(c)
{
case’+’:printf(“%.2f\n“,a+b);
break;
case’-’:printf(“%.2f\n“,a-b);
break;
case’*’:printf(“%.2f\n“,a*b);
break;
case’/’:
if(b!=0) printf(“%.2f\n“,a/b);
else printf(“错误\n“);
break;
default: printf(“错误\n“);
break;
}
}
在第一个SCANF和第二个SCANF之间加个getchar即可,
因为输入a,b时,要按回车键,
第二个SCANF就输入了回车,
加了个getchar就把回车给吸收掉了
C语言关于scanf输入错误循环的错误
int n,j;
do{
j = scanf(“%d“,&n);
if ( j != 1)
printf(“input error !\n“);
fflush(stdin); //清除键盘缓冲区试一下。
}while(j!=1);

更多文章:
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00






