发现大的for循环没法执行是怎么回事?只执行第一次,算出的结果就是第一次算最高位的值

scanf_s("%s",h1)居然不崩溃???
大的循环到底是多大???
你这写的太复杂了,没必要每个数都进行for循环计算
这样写:
#include <stdio.h>
void Chtd(char h[])
{
int i=0;
long long res = 0;
while(h[i] != 0)
{
if(h[i] <= '9')
res = res*16 + h[i]-'0';
else
res = res*16 + h[i] -'A' + 10;
i++;
}
printf("%lld\n",res);
}
int main()
{
char h1[50];
scanf_s("%s",h1,50);
Chtd(h1);
return 0;
}