c语言程序中止,帮忙找个C程序的错误,可以运行但是一直提醒意外中止

这篇博客主要展示了两个C语言函数的实现,`GenStr`用于处理字符串中的特定字符,`TestFanshu`则检测数字是否为平面镜反数。通过这两个函数,博客探讨了字符串操作和数字特性,尤其是对于字母和数字的处理逻辑。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

void main()

{

int *b=0,j;

char *s = "g12bc32fA31", t[20] = { 0 };

void GenStr(char *s, char *t);

int TestFanshu(char *t, int *b);

GenStr(s, t);

printf("改变后的数组t=%s\n", t);

j=TestFanshu(t, b);

printf("在该数组的平面镜反数有%d个,分别为:", j);

while (*b)

{

printf("%d", *b);

b++;

}

printf("\n");

}

void GenStr(char *s, char *t)

{

int i = 0;

while (*s != '0')

{

*t = *s;

t++;

if ((i % 2 == 0) && ((*s >= 'a'&&*s <= 'z') || (*s >= 'A'&&*s <= 'Z')))

{

*t = *s;

t++;

}

s++;

i++;

}

*t = 0;

}

int TestFanshu(char *t, int *b)

{

int k = 0, kf=0, j = 0;

int fanxu(int n, int c);

char ch;

while (*t != 0)

{

ch = *t;

while (ch >= '0'&&ch <= '9')

{

k = k * 10 + ch - '0';

t++;

ch = *t;

}

if (k != 0)

{

kf = fanxu(k,0);

k = k*k;

kf = kf*kf;

kf = fanxu(kf,0);

if (k == kf)

{

*b = sqrt(k);

b++;

j++;

}

k = 0;

}

t++;

}

return j;

}

int fanxu(int n, int c)

{

c = 10 * c + n % 10;

if (n > 0)

fanxu(n / 10, c);

else return c / 10;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值