c语言,检查错误

来源:百度知道 编辑:UC知道 时间:2024/06/20 00:51:42
我在书上抄了一个程序,有一点错误,就是检查不出来,谢谢高手!
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "conio.h"
void main()
{
/*给定由十六进制数组成的字符串,将其中0~9相连的数选出来*/
/*并转换成十进制数按由小到大的顺序显示出来*/
/*定义一个字符串数组*/
char String[31]="11234abc4560ef3d2fa33cd234ed8c";
long TmpDec,DecNum[15]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int i,k,j=0;
/*将字符串从前到后搜索,判断如果是字符的‘0’到‘9’则换成十进制数值*/
/*并放进long型变量DecNnm*/
for(i=0;i<3;i++)
{
if(String[i]>='0'&&String[i]<='9')
{

DecNum[j]=DecNum[j]*10+(String[i]-0x30);
}
else
{
if(DecNum[j]!=0)
{j++;
}
continue;
}
}
/*用冒泡法排序*/
for(i=0;i<j;i++)
{
for(k=0;k<j-1;k++)
{
for(DecNum[k]>DecNum[k+1])
{
TmpDec=DecNum[k];
DecNum[k]=DecNum[k+1];
DecNum[k+1]=TmpDec;
}
}
}
/

呵呵,将
//for(DecNum[k]>DecNum[k+1])
改为:
if(DecNum[k]>DecNum[k+1])

改过以后的代码:
#include "stdio.h"
#include "conio.h"
void main()
{
/*给定由十六进制数组成的字符串,将其中0~9相连的数选出来*/
/*并转换成十进制数按由小到大的顺序显示出来*/
/*定义一个字符串数组*/
char String[31]="11234abc4560ef3d2fa33cd234ed8c";
long TmpDec,DecNum[15]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int i,k,j=0;
/*将字符串从前到后搜索,判断如果是字符的‘0’到‘9’则换成十进制数值*/
/*并放进long型变量DecNnm*/
for(i=0;i<3;i++)
{
if(String[i]>='0'&&String[i]<='9')
{

DecNum[j]=DecNum[j]*10+(String[i]-0x30);
}
else
{
if(DecNum[j]!=0)
{j++;
}
continue;
}
}
/*用冒泡法排序*/
for(i=0;i<j;i++)
{
for(k=0;k<j-1;k++)
{
if(DecNum[k]>DecNum[k+1])
{
TmpDec=DecNum[k];
DecNum[k]=DecNum[k+1];
DecNum[k+1]=TmpDec;
}