C语言程序改错讲解

更新时间:2024-05-29 23:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

难度1

1、程序D1.c的功能是从键盘读入一个数并在屏幕上显示。

int main(void) {

int xy2;

/*********Found************/

scanf(\改为:scanf(\ /*********Found************/

printf(\改为:printf(\

return 0;

}

2、程序D2.c的功能是调用函数,显示两个实数间最大的一个。 #include

float fmax(float x, float y);

int main(void) {

/*********Found************/ float l, 1; //i

l = 3.0; i = 5.6f;

/*********Found************/

printf(\fMax(i, l)); // fmax

return 0;

}

/*********Found************/

int fmax(float x, float y) //改:float {

if (x < y) return y; else return x;

}

3、程序D4.c的功能是计算半径为2+3的圆的面积。 #include

#define PI 3.14

/*********Found************/

#define S(bj) PI*bj*bj //改: PI*(bj)*(bj)

int main(void) {

/*********Found************/ int mianJi; //改为:double

mianJi = S(2+3);

printf(\

return 0;

}

4、相似题:D3.C,程序D5.c的功能是将字符串yy显示在屏幕上。

#include

int main(void) {

/*********Found************/

char yy[100] = \, //改为:;

/*********Found************/ prntf(\改:printf

return 0; }

5、考查点:数据类型选择,/运算符的使用功能是计算1/1 + 1/2 + … + 1/N之和并显示。

#include

#define N 10

int main(void) {

/*********Found************/ long jieguo = 0; //改:float int fm;

for (fm = 1; fm <= N; fm++) {

/*********Found************/

jieguo += 1 / fm; //改:(float) 1 / fm }

printf(\

return 0; }

6、考查点:输入分隔格式控制,循环体的定义, D12.c的功能是从键盘读入a和b的值(输入格式限定为仅a,b),在屏幕上显示b行a。 #include

int main(void) {

int a, b;

/*********Found************/

scanf(\%d%d\中间加’,’ while (b > 0)

/*********Found************/ ___________ //括号’{’

printf(\ b--;

/*********Found************/ ___________ //括号’}’

printf(\

return 0;

}

7考查点:输入格式控制、变量交换,程序D1000.c的功能是从键盘输入3个浮点数a,b,c(输入时abc之间以空格相隔),首先按照输入顺序显示在屏幕上,然后按从小到大顺序把它们输出到屏幕上。 #include

int main(void) {

float a, b, c, t;

printf(\ /*********Found************/

scanf(\%f%f\改:%f%f%f

printf(\ if (a > b) {

t = a; a = b;

/*********Found************/ b = a; //改:t }

if (a > c)

{

t = a; a = c; c = t; }

if (b > c) {

t = b; b = c; c = t; }

printf(\

return 0; }

8考查点:格式化输出、数据类型的正确使用,程序D1001.c的功能是求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,....前20项之和,要求显示的结果中小数部分有4位。

#include

#define T 20

int main(void) {

int n;

/*********Found************/ long i, j, temp, sum;

i = 2; j = 1; sum = 0;

for (n=1; n<=T; n++) {

sum = sum + i / j; temp = i; i = i + j; j = temp; }

/*********Found************/

printf(\5.2f\\n\改:.4

return 0;

}

9考查点:用算术表达式实现数据交换,程序D1002.c的功能是实现两数交换。 #include

int main(void) {

int x = 5, y = 9;

x = x + y; y = x - y;

/*****Found*****/

x = y - x; //改:x – y;

printf(\

return 0;

}

10考查点:整型常量表示、输出项表示,程序D1003.c的功能是将16进制数100转换为10进制数输出。

#include

int main(void) {

/*****Found*****/

int i = 100; //0x100

/*****Found*****/

printf(\ &i); //改:去掉&

return 0;

}

11、 程序D1004.c的功能是输入姓名,屏幕输出问候。

#include

int main(void) {

char s[10];

printf(\ /*********Found************/ scanf(\%c\改%s

printf(\

/*********Found************/ puts(s[10]); //改:s

return 0; }

12考查点:输入数据分隔,输出项表示,程序D1005.c的功能是从键盘读入两个整数并在屏幕上显示。要求:输入时限定两数之间仅以逗号隔开。

#include

int main(void) {

int a, b;

/*********Found*********/

scanf(\%d%d\改:中间加’,’ /*********Found*********/

printf(\&a, &b); //去掉&

return 0;

}

13、考查点:输入格式控制、if语句,程序D1006.c的功能是判断输入的数据是否与已经给出的数据j相等。

#include

int main(void) {

long int i = 79870, j = 23;

/*****Found*****/

scanf(\%f\改:%ld

/*****Found*****/ if (j == i); {

printf(\ } else {

printf(\ }

return 0;

}

14、考查点:字符输入函数使用,分支条件表示,程序D1007.c的功能是使用getchar方式从键盘读入一个字符,判断该字符是否大写字符。

#include

int main(void) {

char ch;

/****Found****/

getchar(ch); // ch = getchar(); /*****Found*****/

if ('A' <= ch, ch <= 'Z') //&& {

printf(\ } else {

printf(\ }

return 0; }

15、考查点:switch语句结束、case后常量表示,程序D1008.c的功能是判断用户是不是输入的整数0。 #include

int main(void) {

int n;

scanf(\ /****Found****/

switch (n); //去掉’;’ {

/****Found****/

case0: //中间加空格 printf(\ break; default:

printf(\ break; }

return 0;

}

16、考查点:switch语句、case后常量表示,程序D1009.c的功能是输入一个整数,如果为1时输出100,为2时输出200,其它输出0。 #include

int main(void) {

int x, y;

scanf(\

switch (x) {

/*********Found************/ case x == 1: //改:1 y = 100; break;

/*********Found************/ case x == 2: //改:2 y = 200; break; default:

/*********Found************/ y = 500; //改:0 break; }

printf(\

return 0; }

17、考查点:switch语句case常量表示,循环条件表示,程序D1010.c的功能是输入若干字符数据(回车表示输入结束),分别统计其中‘A’、‘B’、‘C’的个数。

#include

int main(void) {

char c;

int k1 = 0, k2 = 0, k3 = 0;

/*********Found************/

while (c = getchar() != '\\n') //加括号() {

switch (c) {

/*********Found************/ case A: //加’’ k1++; break;

case 'B': k2++; break; case 'C': k3++; break; default : ; } }

printf(\

return 0; }

18、考查点:一维数组定义、数组元素引用、输入和输出,程序D1016.c的功能是从键盘输入5个整数,保存到一整型数组变量中(此数组只能保存5个数),并在屏幕上按逆序输出。

#include

int main(void) {

/*********Found*********/

int n=5, i, a[n]; //改为5

printf(\ /*********Found*********/ for (i=1; i

scanf(\ }

for (i=n-1; i>=0; i--) {

printf(\ }

return 0;

} 19、考查点:数组的输入和数组元素的引用,程序D1017.c的功能是输入10个浮点数,并输出这组数中的最大值和最小值。 #include

int main(void) {

float a[10], max, min;

int i;

printf(\for (i=0; i<10; i++) {

/*********Found************/ scanf(\&a[i] }

max = min = a[0]; for (i=1; i<10; i++) {

/*********Found************/ if (_____) // max < a[i] {

max = a[i]; }

if (min > a[i]) {

min = a[i]; } }

printf(\

return 0; }

20、考查点:函数声明,静态变量使用,程序D1021.c的功能是依次输出3^1到3^5。 #include

/*****Found*****/

int f(n); //用定义形式:int n

int main(void) {

int i;

for (i=1; i<=5; i++) {

printf(\ }

return 0;

}

int f(int n) {

/*****Found*****/

int p = 1; //改: static int

p = p * n; return p; }

21、考查点:静态变量使用,函数调用,程序D1023.c的功能是函数outnum输出自己是第几次被调用。

#include

void outnum(void);

int main(void) {

int i;

for (i=0; i<5; i++) {

/*********Found************/ outnum(i); //改: outnum() }

return 0;

}

void outnum(void) {

/*********Found************/

int i = 0; //改:static int i = 0; i++;

printf(\

}

22、考查点:函数调用、函数定义,程序D1024.c的功能是调用子函数Average()求两数的平均值,并输出到屏幕上。

#include

/*********Found*********/

int Average(x, y); //用定义形式:int x, int y

int main(void) {

int a = 12;

int b = 24; int ave;

/*********Found*********/

ave = Average(int a, int b); //用使用形式:a, b printf(\

return 0; }

/*********Found*********/

int Average(x, y) //int x, int y {

int result;

result = (x + y) / 2;

return result; }

23、考查点:函数一般调用和静态变量,程序D1025.c的功能是输入一整数n(n>0),main()函数中调用子函数Func()n次,并在屏幕上打印出每次调用该子函数的次数。

#include

void Func(void);

int main(void) {

int i, n;

printf(\ scanf(\ for (i=0; i

/*********Found*********/

________________________ // Func() }

return 0; }

void Func(void) {

/*********Found*********/

________________________ // static int times = 0;

times++;

printf(\} 难度2 1、考查点:用指针访问字符数组元素,程序D3.c的功能是将字符串yy在屏幕上输出。 #include

int main(void) {

/*********Found************/

char yy[200] = \改为:*yy

/*********Found************/

fol (; *yy; yy++) //改为:for {

putchar(*yy); }

return 0;

}

2、考查点:字符数组定义,字符串输出控制,标准字符串函数的使用,程序D6.c的功能是从键盘读入一行字符(包括空格、TAB等字符)并在屏幕上显示。

#include

int main(void) {

/*********Found************/

char yy<128>; //改为:yy[128]

/*********Found************/ getchar(yy); //改为:gets

/*********Found************/ printf(\%y\改为:%s

return 0;

}

3、考查点:if-else形式条件的分析,数据类型选择,程序D7.c的功能是判断x和y是否相等,相等则显示x=y,不等则显示x<>y。

#include

int main(void) {

/*********Found************/ char x, y; //改为:int

x = 39270; y = 41001;

/*********Found************/ if (x != y) //改为:== {

printf(\ }

/*********Found************/ else;; //去掉;; {

printf(\ }

return 0;

}

4、考查点:文件路径名表示,文件打开方式选择,文件打开成功判断,程序D8.c的功能是打开文件d:\\te.c用于读并判断打开是否成功。

#include

int main(void) {

FILE *fp;

/*********Found************/

char fileName[] = \\\te.c\改为:\\\\

/*********Found************/

fp = fopen(fileName, \w\改为:r

/*********Found************/ if (fp is NULL) //改为:== {

puts(\ return 1; }

putchar(fgetc(fp)); fclose(fp);

return 0;

}

5、考查点:指针,内存分配、内存释放函数的使用,程序D9.c的功能是申请100个字节的内存空间,显示其首地址,然后释放申请到的内存空间。 #include

#include

int main(void) {

/*********Found************/ char pch[2]; //改为:*pch

/*********Found************/

if (pch = (char *)malloc(100) == NULL) //将红色部分括起来 {

printf(\ return 1; }

printf(\

/*********Found************/ close(pch); //改为:free

return 0;

}

6、考查点:指针作函数参数,函数调用,程序D14.c的功能是调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值。 #include

/*********Found************/

void swap(int x, int y); //改为:int *x, int *y

int main(void) {

int a = 3, b = 4;

/*********Found************/ swap(a, b); //改为:&a, &b printf(\

return 0;

}

/*********Found************/

void swap(int x, int y) //改为:int *x, int *y

{

int tmpX;

/*********Found************/ ___________ // tmpX =*x; *x = *y;

/*********Found************/ *y = x; //改为:*y = tmpX;

}

7、考查点:结构体变量定义,结构体成员的输入、输出,程序D16.c的功能是worker2的信息使用结构体存储,从键盘读入其各项信息并显示。 #include

int main(void) {

struct WKER {

long ID;

long int num; char name[20]; char sex;

/*********Found************/ } ; //改为:worker2;

worker2.ID = 1L;

/*********Found************/

scanf(\%s %s %s\

//改:%ld%s%c

/*********Found************/

printf(\%s name=%s sex=%s\\n\

worker2.num, worker2.name, worker2.sex); //改为:%ld %c

return 0;

}

8、考查点:复合语句、变量作用域,程序D18.c的功能是从键盘上读入10个大于0的数,调用函数dispMaxNum显示其中最大的一个。

#include

int maxiNum = 0;

void dispMaxNum();

int main(void) {

int i, oneNumber, maxNumber = 0;

printf(\ {

int maxNumber = 0;

/*********Found************/ ___________ //{

for (i = 0; i < 10; i++) {

scanf(\ if (oneNumber > maxNumber) {

maxNumber = oneNumber; } } }

/*********Found************/

___________ // maxiNum = maxNumber /*********Found************/ ___________ //} dispMaxNum();

return 0;

}

void dispMaxNum() {

/*********Found************/

printf(\

}

9、考查点:循环条件表示,循环体中改变循环条件,程序D1011.c的功能是从输入数据中统计正整数和负整数的个数。用输入0来结束输入,变量i存放正整数个数,变量j存放负整数的个数。

#include

int main(void) {

int i = 0, j = 0, n;

printf(\ scanf(\

/*********Found*********/

while (______________) // n 或者n != 0 {

if (n > 0) {

i++; }

if (n < 0) {

j++; }

/*********Found*********/

_________________________ // scanf(\}

printf(\

return 0; }

10、考查点:枚举算法,for语句条件,条件判断,程序D1012.c的功能是显示用1、2、3、4个数字组成的互不相同且无重复数字的三位数。

#include

int main(void) {

int i, j, k;

/*********Found************/

for (i=1; ; i++) //改为:i < 5 {

for (j=1; j<5; j++) {

for (k=1; k<5; k++) {

/*********Found************/

if (i!=k && i!=j && ______) //j != k {

printf(\ } } } }

return 0; }

11、考查点:数组逆序存放,循环次数控制,换位操作的实现,程序D1013.c的功能

是将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1,要求改为1,4,5,6,8。

#include

#define N 10

int main(void) {

int a[N], i, temp;

printf(\ for (i=0; i

scanf(\ }

printf(\ for (i=0; i

printf(\ }

printf(\

/*********Found************/

for (i=0; i

temp = a[i];

/*********Found************/

a[i] = a[N-i]; //改为:a[N-1-i] /*********Found************/

a[N-i] = temp; //改为:a[N-1-i] }

printf(\ for (i=0; i

printf(\ }

printf(\

return 0;

}

12、考查点:排序算法的实现,排序条件,数据交换、字符数组的处理,程序D1014.c的功能是将字符数组a中元素从大到小排列(值相同的元素不交换位置)。

#include

#include

int main(void) {

int i, j, k;

char a[] = \

k = strlen(a);

for (i=0; i

for (j=i+1; j

/*****Found*****/

if (a[i] > a[j]) //改为:a[i] < a[j] {

t = a[j];

/*****Found*****/

a[i] = a[j]; //改为:a[j] = a[i] a[i] = t; } } }

printf(\

return 0;

}

13、考查点:数组元素下标,数组作函数参数,程序D1015.c的功能是定义一个整型数组,采用子函数实现数据输入。 #include

void input(int a[], int n);

int main(void) {

int a[10], i;

/*********Found************/ input(a[10], 10); //改为:a for (i=0; i<10; i++) {

printf(\ }

return 0;

}

void input(int a[], int n) {

int i;

for (i=0; i

scanf(\

/*********Found************/ i--; //改为:i++ }

}

14、考查点:函数调用,字符串结束标志的使用,程序D1018.c的功能是通过函数,将一个字符串中的元音字母复制到另一字符串,然后输出。 #include

#include

void vowel(char str1[], char str2[]);

int main(void) {

char str1[81], str2[81];

printf(\ gets(str1);

/*********Found************/

vowel(________________); //改为:str1, str2 printf(\ puts(str2);

if (strlen(str2) == 0) {

printf(\ }

return 0;

}

void vowel(char str1[], char str2[]) {

int i, j = 0;

/*********Found************/

for (i=0; ________________; i++) //改为:str1[i]

{

if (str1[i]=='A' || str1[i]=='E' || str1[i]=='I'

|| str1[i]=='O' || str1[i]=='U' || str1[i]=='a' || str1[i]=='e' || str1[i]=='i' || str1[i]=='o' || str1[i]=='u') {

str2[j] = str1[i]; j++; } }

str2[j] = '\\0'; }

15、考查点:函数声明、函数定义、函数调用,表达式统计,程序D1019.c的功能是计算输出10个学生的平均成绩。 #include

/*****Found*****/

average(double x, y); //改为:double average和int y

int main(void) {

int i;

double score, total; double aver;

printf(\ scanf(\

for (i=2; i<=10; i++) {

printf(\ scanf(\ /*****Found*****/

total = score; //改为:total = total + score; }

aver = average(total, 10);

printf(\

return 0;

}

/*****Found*****/

average(double x, y) ////改为:double average和int y

{

return x / y;

}

16、考查点:递归函数定义(递归返回),函数头,程序D1020.c的功能是使用递归实现Fibonacci数的计算,Fn=Fn-1+Fn-2(1、1、2...,第7项为13)。 #include

int f(int n);

/*****Found*****/

int main(void); //改为:去掉‘;’ {

printf(\

return 0;

}

int f(int n) {

if (n <= 2) {

/*****Found*****/ return 2; //改为:1 }

return f(n - 1) + f(n - 2);

}

17、考查点:函数声明,变量作用域,函数调用,函数定义,指针作为函数的参数,程序D1022.c的功能是通过一个加法子函数,输入两个浮点数,求和。 #include

/*********Found************/

int add(float x, float y); //改为:float

int main(void)

float a, b;

scanf(\

/*********Found************/

printf(\x, y)); //改为:a, b

return 0;

}

/*********Found************/

float add(float x, float y); //改为:去掉’;’ {

return x + y;

}

18、程序D1054.C的功能是:从键盘读入两个整数,对它们进行按位异或操作,把操作结果按二进制位放在字符数组str中,最后输出该字符串。提示:第2个空建议使用条件表达式(?表达式)实现!

Please input num1 and num2 : 127 0 127 ^ 0 = 00000000000000000000000001111111 图1 程序运行效果示例 Please input num1 and num2 : 123 456 123 ^ 456 = 00000000000000000000000110110011 #include

int main(void) {

unsigned long int number, num1, num2, mask; int i;

char str[33];

printf(\ scanf(\

/*********Found************/

mask = __________________; //改为:0x80000000 number = num1 ^ num2; for(i=0; i<32; i++) {

/*********Found************/ str[i] = __________________; //改为:(mask & number) ? ‘1’:’0’ mask >>= 1; }

str[32] = '\\0';

printf(\

return 0; }

难度3

1、考查点:符号常量定义,const常量的使用,指针变量的移位操作,程序D10.c的功能是将字符串str2显示在屏幕上。 #include

/*********Found************/

#define START //改为:#define START { /*********Found************/

#define NEXT //改为:#define NEXT }

int main(void) {

char *str2 = \ const int i = 0;

for (printf(\ START

putchar(str2[i]);

/*********Found************/ i++; //改为:str2++ NEXT

return 0;

}

2、考查点:字符数组下标控制,字符串结束标志,条件表达,程序D13.c的功能是从键盘输入最多10个字符(遇换行则停止输入)到数组Buf中,然后在屏幕上显示。 #include

int main(void) {

char c, Buf[11]; int pos;

/*********Found************/

for (pos = 1; pos <= 10; pos++) //改为:0和< {

/*********Found************/

if ((c = getchar() == '\\n') //改为:后面加) {

break; }

Buf[pos] = c;

}

/*********Found************/

___________ //改为:Buf[pos] = ‘\\0’; printf(\

return 0;

}

3、考查点:指针变量的使用,指针作函数参数,函数调用,程序D15.c的功能是调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值。 #include

void swap(int *x, int *y);

int main(void) {

int a = 3, b = 4;

/*********Found************/

swap(*a, *b); //改为: &a, &b /*********Found************/

printf(\ &a, &b); //去掉&

return 0;

}

void swap(int *x, int *y) {

int *tmp, tsX;

/*********Found************/ *tmp = x; //改为: tsX = *x *x = *y;

/*********Found************/ *y = *tmp; //改为: tsX

}

4、考查点:函数定义、字符数组、静态变量的使用、指针作函数参数,函数调用,程序D17.c的功能是函数userLogin的功能主要是统计并返回登录的用户数,用户名最长30字节。

#include

long userLogin(char *userName);

int main(void) {

/*********Found************/

char *userName31; //改为:userName31[31] long curUserCnt = 0;

while (1) {

printf(\ scanf(\

curUserCnt = userLogin(userName31); }

return 0;

}

long userLogin(char *userName) {

/*********Found************/

long userNum = 0; //改为:static long

userNum++;

printf(\ userName, userNum); /*********Found************/ return ; //改为: userNum;

}

5、考查点:函数返回值、字符变量、字符指针变量、字符串结束,程序D19.c的功能是将inBuf中字符串拆分成一个个的单词。 程序说明:

(1)单词之间的分隔符由串divChar,程序中定义为“;?!,.>/\\”。 (2)函数getStrFromBuf的功能是从Buf的开始处寻找第一个单词,将找到的单词作为一个字符串复制到Str处,divStr指明单词间的分隔符。GetStrFromBuf的返回值指向已找到单词的下一个字符。

(3)函数charInStr的功能是判断字符t是否出现在串Str中。 (4)主程序的功能是将inBuf中的所有单词在屏幕上显示出来。 #include

#define Yes 1 #define No 0

char *getStrFromBuf(char *Buf, char *Str, char *divStr); int charInStr(char *Str, char t);

int main(void) {

char inBuf[100] = \ char divChar[] = \

point = inBuf; while (*point) {

/*********Found************/

getStrFromBuf(point, oneWord, divChar); //右边加上:point= if (*oneWord) {

puts(oneWord); } }

return 0;

}

int charInStr(char *Str, char t) {

for (; *Str; Str++) {

/*********Found************/ if (*Str == *t) //改为:t {

/*********Found************/ return No; //改为:Yes } }

/*********Found************/ return Yes; //改为:No

}

char *getStrFromBuf(char *Buf, char *Str, char *divStr) {

for (; *Buf; Buf++) {

if (charInStr(divStr, *Buf) == No) {

break; }

}

for (; *Buf; Buf++) {

if (charInStr(divStr, *Buf) == Yes) {

break; }

/*********Found************/ Str = *Buf; //改为:* Str Str++; }

/*********Found************/ *Str = '0'; //改为:’\\0’

/*********Found************/ return ; //改为:Buf

} 6、考查点:折半查找算法、函数调用、数组作参数,程序D1026.c的功能是函数binary为折半查找key 值。数组中元素值已递增排序,若找到key则返回对应的下标,否则返回-1。主函数对该函数进行验证。 #include

int binary(int a[ ], int n, int key);

int main(void) {

int data[10] = {2, 5, 7, 13, 16, 18, 23, 26, 28, 35}; int pos=0, key;

printf(\ scanf(\

/*********Found************/ pos = ____________________ ; if (pos == -1) {

printf(\ } else {

printf(\ }

return 0;

}

int binary(int a[ ], int n, int key) {

int low, high, mid;

low = 0;

high = n - 1;

/*********Found************/ while ( ___________ ) {

mid = (low + high) / 2; if (key < a[mid]) {

high = mid - 1; }

else if (key > a[mid]) {

low = mid + 1; } else {

/*********Found************/ return _______; } }

return (-1); }

7、考查点:函数参数设计、算法理解、函数调用,程序D1027.c的功能是fun函数的功能是将形参x的值转换成base进制数,所得base进制数的每一位数用对应字符表示并放在一维数组b中返回,base进制数的最低位放在下标为0的元素中,其他依次类推。主函数中输入一个数据,调用该函数将数据转换成8进制数。 #include

#include

/*********Found************/

void fun(int x, int base, ____ b[]); //改为:char

int main(void) {

static char data[30]; int i, pos, key;

printf(\ scanf(\

/*********Found************/

____________________ ; //改为:fun(key, 8, data); pos = strlen(data);

for (i=pos-1; i>=0; i--) {

putchar(data[i]); }

return 0; }

/*********Found************/

void fun(int x, int base, ____ b[]) //{

int k = 0, r;

do {

r = x % base;

if ((base==16) && (r>=10)) {

r -= 10; r += 'A'; } else {

r += '0'; }

b[k] = r; k = k + 1; x /= base ; } while (x);

b[k] = '\\0'; }

改为:char

/*********Found************/

____________________ ; //改为:fun(key, 8, data); pos = strlen(data);

for (i=pos-1; i>=0; i--) {

putchar(data[i]); }

return 0; }

/*********Found************/

void fun(int x, int base, ____ b[]) //{

int k = 0, r;

do {

r = x % base;

if ((base==16) && (r>=10)) {

r -= 10; r += 'A'; } else {

r += '0'; }

b[k] = r; k = k + 1; x /= base ; } while (x);

b[k] = '\\0'; }

改为:char

本文来源:https://www.bwwdw.com/article/hlc6.html

Top