1 / 12
文档名称:

c语言笔记易错点.doc

格式:doc   大小:46KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言笔记易错点.doc

上传人:tswng35 2019/11/8 文件大小:46 KB

下载得到文件列表

c语言笔记易错点.doc

文档介绍

文档介绍:1:排序函数不需要返回值/*=====================================本函数用于对数组从小到大排序参数说明:a[]表示待排序数组的首地址;num表示数组长度 i,j是循环变量;k用于记录每轮比较的最小值下标; temp是交换临时变量返回值:无=====================================*/voidsort(inta[],intnum){ inti,j,k,temp; for(i=0;i<num;i++) //选择法排序 { k=i; for(j=i+1;j<num;j++) { if(a[j]<a[k]) k=j; } temp=a[i]; a[i]=a[k]; a[k]=temp; }}错误intqueue(intarray2[n]) //定义为数组排序的函数{ inti,j,temp; for(i=0;i<=n-2;i++) //选择法排序 for(j=i+1;j<=n-1;j++) { if(array2[i]>array2[j]) //交换数组的值{ temp=array2[i]; array2[i]=array2[j]; array2[j]=temp; } }} return(array2[n]);//此返回值的意义是什么?为什么程序运行成功?【此返回值其实已经溢出了,通过调试函数可以看出】/*===========================================本函数用于将数组中的元素值作为ACSII码生成字符串,并对应存储输入的字符数组中。参数说明:a[]数组作为ACSII码;num表示数组长度;str[]用于储存形成的字符串;返回值:无============================================*/此时不需要返回值所以不需要定义函数的类型,为空即可;voidACSIIstr(inta[],intnum,charstr[]){ inti; for(i=0;i<num;i++) { str[i]=a[i]; }}Thevariable'num'(charstr1[],charstr2[]){ inti=0,j=0,k=0,len1,len2,num=0;{如果这里写成num,就会出现:还有一种情况则是未加&Thevariable'num'isbeingusedwithoutbeinginitialized.} while(j>=0) { if(str1[j]==0)break;如果此处写成str1[j]==’0’,那么此处的循环成为死循环。 j++; } len1=j; while(k>=0) { if(str2[k]==0)break; k++; } len2=k; for(i=0;i<=len2-1;i++) { if(str2[i]==str1[0]) { num=0; for(j=0,k=i;k<=len2-1,j<=len1-1;j++,k++) { if(str2[k]==str1[j]/*||str1[i]==str2[j]+32||str1[i]==str2[j]-32*/) {num++;} elsebreak; } } if(num==len1)return1; } return0;}#include<>#definen30voidmain(){ intnumb=0,array2[n]={1,1,1,1,1},len1=0,i=0; inttran2(intnum,intarray1[n],intlen); printf("请?输?入?一?个?十?进?制?正y整?数簓:阰\n"); scanf("%d",&numb); len1=tran2(numb,array2,len1); printf("len1=%d\n",len1); for(i=0;i<=len1-1;i++) { //if(array2[i]!=0) printf("%d",array2[i]); } printf("\n");}inttran2(intnum,intarray1[n],intlen){ inti=0,j,shan,temp; while(num) { printf("%d\n",num%2); shan=num/2; if(num%2) {array1[i]=1;} else {array1[i]=0;} printf("%d\n",array1[i]); i++; printf("%d\n",i); num=shan; } for(j=0;j<=i-1;j++) { temp=array1[