【操作系统】typedef-调换二叉树子树,运营现身错

作者:操作系统

1.对于以下代码:charch=-1;printf("%dn",ch卡塔尔(قطر‎;输出结果是?得分/总分A.编写翻译错误,因为赋值的时候无法把负数赋给charB.运维错误,因为%d和ch的类型不相配C.ASCII码表中255相当地点的字符D.-12.以下代码段的结果是:----inti=10;longlongt=sizeof(i 卡塔尔;printf("%d",iState of Qatar;

C语言学习多如牛毛错误解析

荒诞分类
语法错

逻辑错

运行错
0.忘记定义变量:
int main()
{

x=3;y=6;
printf(“%d/n”,x y);

}

1.C语言的变量应当要先定义才具选用;

2.输入输出的多寡的连串与所用格式表明符不等同
int a=3;float b=4.5;printf(“%f%d/n”,a,b);

它们而不是遵照赋值的法则进行调换(如把4.5转变为4卡塔尔(قطر‎,而是将数据在存款和储蓄单元中的情势按格式符的渴求协会输出(如b占4个字节,只把最后三个字节的数目按%d,作为整数输出卡塔尔国

3.未在意int型数据的数值范围
int型数据的数值范围(-32768~32768)
int num=89101;
printf(“%d”,num);
会将赶上低十三位的数截去从而取得23563
在乎:定义了long型,而在输出时仍用”%d”表达符,仍会现出上述错误

4.输入变量时忘记行使地点符
scanf(“%d%d”,a,b);

5.输入时数据的团组织与必要不符
对scanf函数中格式字符串中除了格式表达符外,对别的字符必得按原样输入

6.误把”=“作为”等于”比较符
“=“为附值运算符
“==“为相比较运算符

7.语句前面漏分号
{
t=a;
a=b;
b=t
}
它是pascal的语法

8.不应当加分号之处加了分集团
if(a>b);
printf(“a is larger than b/n”);

for(i=0;i<10;i );
{
scanf(“%d”,&x);
printf(“%d/n”,x*x);
}

9.对应该有花括弧的复合语句,忘记加花括弧
sum=0;
i=1;
while(i<=100)
sum=sum 1;
i ;
10.括弧不配成对
while((c=getchar()!=‘#’)
putchar(c);

11.在用标志时,忘记了大写字母和小写字母的分别
{
int a,b,c;
a=2;
b=3;
C=A B;
printf(“%d %d=%D”,A,B,C);
}

12.引用数组成分时误用发圆括弧
{
int i,a(10);
for(i=0;i<10;i )
scanf(“%d”,&a(i));
}

13.在概念数组时,将定义的”元素个数”误以为是”可应用的最大下标值
{
int a[操作系统,10]={1,2,3,4,5,6,7,8,9,10};
int i;
for(i=1;i<=10;i )
printf(“%d”,a[i]);
}

14.对二维或多维数组的定义和援引的措施不对
{
int a[5,4];

printf(“%d”,a[1 2,2 2]);

}

15.误以为数组名代表数组中全体成分
{int a[4]={1,2,3,4};
printf(“%d%d%d%d”,a);
}

16.混淆字符数组与字符指针的分歧
main()
{
char str[40];
str=“Computer and c”;
printf(“%s/n”,str);
}

17.在引用指针变量在此以前从未对它给予明确的值
{
char *p;
scanf(“%s”,p);
}

{
char *p,c[20];
p=c;
scanf(“%s”,p);
}

18.switch语句的各支行中漏写 break语句
混淆字符和字符串的象征格局

char sex;
sex=“M”;

19.运用自加( )和自减(--)运算符时出的大谬不然
{
int *p,a[5]={1,3,5,7,9};
p=a;
printf(“%d”,*p );
}

注意于*( p)的区别;

20.所调用的函数在调用语句之后才定义,而又在调用前未加表达
main()
{float x,y,z;
x=3.5;y=-7.6;
z=max(x,y);
printf(“%f”,z);
}
float max(float x,float y)
{
return (x>y?x:y);
}

21.误认为形参值的改变会影响实参的值
swap(int x,int y)
{int t;
t=x;x=y;y=t;
}
main()
{int a,b;
a=3;b=4;
swap(a,b);
printf(“%d,%d/n”,a,b);
}

22.函数的实参和形参类型不同
fun(float x,float y)
main()
{
int a=3,b=4;
c=fun(a,b);

}

23.分化类的型指针混用
{
int i=3,*p1;
float a=1.5,*p2;
p1=&i;p2=&a;
p2=p1;
printf(“%d,%d/n”,*p1,*p2);
}

24.不曾放在心上函数参数的求值顺序
int i=3;
prinft(“%d,%d,%d/n”,i, i, i);
结果为5,5,4
因为VC 是利用自右至左的相继求函数的值
C规范尚未现实规定函数参数求值的各样

25.混淆数组名与指针变量的区分
{ int i,a[5];
for(i=0;i<5;i )
scanf(“%d”,a );
}

{int a[5],*p;
p=a;
for(int i=0;i<5;i )
scanf(“%d”,p )
}
{int a[5],*p;
for(p=a;p scanf(“%d”,p);
}

26.混淆组织体类型与构造体变量的界别
struct worker
{long int num;
char name[20];
char sex;
int age;
};
worker.num=187045;
strcpy(worker.name,”ZhangFun”);
worker.sex=‘M’;
worker.age=18;

27.选取文件时忘记张开,用只读格局展开,却酌量向该公文输出数据
if(fp=fopen(“test”,”r”))==NULL)
{printf(“cannot open this file/n”);
exit(0);
}
ch=fgetc(fp);
while(ch!=‘#’)
{ch=ch 4;
fputc(ch,fp);
ch=fgetc(fp);
}

错误分类 语法错 逻辑错 运转错 0.忘记定义变量: int main(卡塔尔(قطر‎ { x=3;y=6; printf(“%d/n”,xy卡塔尔国; } 1.C语言的变量必必要先定义才...

else if(buff[t]=='=')
{
t ;
if(buff[t]=='=') // ==
{
code =12;
}
else{
code=16; // =
t--;
}
}

if
T=NULL;
else
{
T=malloc(sizeof;
T->data=ch;
printf("输入%d的左子树:",ch卡塔尔国;
CreatBitree(T->lchild);
printf("输入%d的右子树:",ch卡塔尔(قطر‎;
CreatBitree (T->rchild);}

}
else if(True==isAlpha||buff[t]=='_'卡塔尔国 //标记符大概着重字
{

}
//输出二叉树//
int shuchu
{if return 0;
else printf("%d",T->data);
shuchu(T->lchild);
shuchu(T->rchild);
}

fprintf(fp_out,"<%d,%s>,",1,lexbuf);
printf("<%d:%s>,",1,lexbuf);
}

int main
{

int lexan()
{
int error_num = 0;
FILE *fp_in=NULL;
FILE *fp_out=NULL;

}
//先序遍历二叉树//
void preorder(Bitree T )
{if printf("%d ",T->data);
preorder(T->lchild );
preorder(T->rchild );
}

}
else if(isDigit //数字
{
tokenval = buff[t] - '0';
t ;
while(isDigit //整数
{
tokenval = tokenval *10 buff[t] -'0';
t ;
}
if(isAlpha //数字 字母 :报错
{
fprintf(fp_out," LexicalError,");
error[error_num ]=lineno; //出错行记录
printf("error:%d,%c",tokenval,buff[t]);
}
else
{
t--;
fprintf(fp_out,"<%d,->,",2);
printf("<%d:%d>,",2,tokenval);
}

//创立二叉树//
int CreatBitree(Bitree T )
{Elemtype ch,temp;
scanf("%d",&ch);

fprintf(fp_out,"n");
printf;
lineno = lineno 1; //行数

//交流二叉树左右节点//
int jiaohuan(Bitree &T)
{
Bitree k;
if return 0;
else while(T->lchild!=NULL||T->rchild!=NULL)
{
k=T->lchild;
T->lchild=T->rchild;
T->rchild=k;
}jiaohuan(T->lchild);
jiaohuan(T->rchild);
printf;

if((fp_in=fopen("test.txt","r"))!=NULL卡塔尔国 //读取源码步入缓存buff中
{
char ch=NULL;
int x =0;
while //文件甘休符
{
printf;
ch=fgetc;
buff[x]= ch;
x ;
if(x>=buff_size)
{

交流二叉树子树,运转现身错误,求指教
#include
#include
#include
typedef int Elemtype;
typedef struct Bitnode
{Elemtype data;//数据域//
struct Bitnode *lchild,*rchild;//左右指针域//
}Bitnode,*Bitree;

#define key_num 9 //关键字数量
#define buff_size 1024

int num=0;
Bitree T=(Bitree)malloc(sizeof;
printf("输入根节点色数,-1时为空中小姐点:"State of Qatar;
CreatBitree;
preorder;
jiaohuan;
shuchu;
return 0;
}

本文由ca88发布,转载请注明来源

关键词: 分析器 大神 错误 代码 码表