C语言中 debug error是什么错误啊
debug error!
program:E:\学习2\C语言\Debug\lianxi.exe runtime error
(Press Retry to debug the application)
编写的程序为:
#include<stdio.h>
#include<math.h>
void main()
{int n,s,t,a,b,c,d,e;
printf("请输入一个小于五位的数字n:\n");
scanf("%f",&n);
s=n/10;
if(s==0)
e=n;t=1;
if(s>0)
e=n%10;d=s%10;s=s/10;
if(s==0)
t=2;
else if(s>0)
c=s%10;s=s/10;
if(s==0)
t=3;
else if(s>0)
b=s%10;s=s/10;
if(s==0)
t=4;
else if(s>0)
a=s%10;s=s/10;
if(s==0)
t=5;
else t=6;
switch(t)
{
case 1: printf("n为一位数字,每位数字为:%d",e);break;
case 2: printf("n为二位数字,由高到低每位数字为:%d,%d\n",d,e);break;
case 3: printf("n为三位数字,由高到低每位数字为:%d,%d,%d\n",c,d,e);break;
case 4: printf("n为四位数字,由高到低每位数字为:%d,%d,%d,%d\n",b,c,d,e);break;
case 5: printf("n为五位数字,由高到低每位数字为:%d,%d,%d,%d,%d\n",a,b,c,d,e);break;
default : printf("输入的数字超出范围!");
}
}
啊哦。。。刚才的错误找到了,把第六行的f改成d就行了,不过这个程序运行时结果不对啊,为什么啊,高手们帮帮忙啦,呵呵 展开
debug error 是调试过程中产生的错误。
在调试过程中,运行时会插入额外的代码检查参数的合规性,操作的合法性等等(在发布版中,为提高效率则不会插入这些检查)。
这些可以检查出一些符合语法但不符合逻辑的行为。 debug error 就是在检查不满足(参数不合规,操作不合法)时产生的错误。
扩展资料:
C语言#error使用方法
编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它的其目的就是保证程序是按照你所设想的那样进行编译的。
下面举个例子:
程序中往往有很多的预处理指令
#ifdef XXX
...
#else
#endif
当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:
#ifdef XXX
...
#error "XXX has been defined"
#else
#endif
这样,如果编译时出现错误,输出了XXX has been defined,表明宏XXX已经被定义了。
您好,debug error 是调试过程中产生的错误。出现错误原因如下:
在调试过程中,运行时会插入额外的代码检查参数的合规性,操作的合法性等等(在发布版中,为
提高效率则不会插入这些检查)。这些可以检查出一些符合语法但不符合逻辑的行为。而debug
error 就是在检查不满足(参数不合规,操作不合法)时产生的错误。
扩展资料:
C语言经典错误:
void main()的用法并不是任何标准制定的。 C语言标准语法是int main,任何实现都必须支持int
main(void) { /* ... */ }和int main(int argc, char* argv[]) { /* ... */ }。
类似于a+=a++;或者(i++)+(i++)+(i++)属于未定义行为,并不是说c语言中还未定义这种行为,它
早有定论,它的结果取决于编译器实现,不能写这样的代码。
参考资料:百度百科:C语言
犯这个错误的原因是 你对 if...else...语句嵌套理解的错误,
第一:你的程序格式及其不规范。
第二:if语句块 要用花括号 括起来{};
第三:你的程序有很多的重复语句,很浪费机器的资源,程序整体性能不高。
#include<stdio.h>
#include<math.h>
void main()
{
int n,s,t,a,b,c,d,e;
printf("请输入一个小于五位的数字n:\n");
scanf("%d",&n);
s=n/10;
if(s==0)
{
e=n;
t=1;
}
else
{
e=n%10;
d=s%10;
s=s/10;
if(s==0)
t=2;
else
{
c=s%10;
s=s/10;
if(s==0)
t=3;
else
{
b=s%10;
s=s/10;
if(s==0)
t=4;
else
{
a=s%10;
s=s/10;
if(s==0)
t=5;
else t=6;
}
}
}
}
switch(t)
{
case 1: printf("n为一位数字,每位数字为:%d",e);break;
case 2: printf("n为二位数字,由高到低每位数字为:%d,%d\n",d,e);break;
case 3: printf("n为三位数字,由高到低每位数字为:%d,%d,%d\n",c,d,e);break;
case 4: printf("n为四位数字,由高到低每位数字为:%d,%d,%d,%d\n",b,c,d,e);break;
case 5: printf("n为五位数字,由高到低每位数字为:%d,%d,%d,%d,%d\n",a,b,c,d,e);break;
default : printf("输入的数字超出范围!");
}
}