C语言程序 8转10 我看不懂,帮忙解释下谢谢

2024-12-03 13:36:37
推荐回答(4个)
回答1:

main()
{ char *p,s[6]; //s[6]保存输入的字符串(数字)
int n;
p=s; //指针p指向s,以便进行指针操作
gets(p); //获得输入
n=0;
printf("%c",(*p-'0')); //输出得到的输入,以便比较。不过已经作了转换,即字符型装换成数字型 *p-'0'
getch(); //等待任意键输入,继续下面操作
while(*p!='\0') //如果没有结束--字符串以 '\0'结尾
{ n=n*8+*p-'0'; //进行进制转换,看不看得懂就看你的数学功底了
p++;
}
printf("%d",n);
}

晕,楼下这位不知运行过没有就说有错

回答2:

这个程序是不是有错误啊。。
main()
{ char *p,s[6];
int n;
p=s;
gets(p); //应该这样:p=gets();
n=0;
printf("%c",(*p-'0')); //字符串不可以计算,这能用函数处理
getch(); //getchar();
while(*p!='\0') //字符串比较用函数
{ n=n*8+*p-'0'; //同上
p++;
}
printf("%d",n);
}
不知道算法对错,但是程序一定些错了

回答3:

你再看看程序啊有问题啊

回答4:

同意楼上