“从键盘输入的全是10进制数”,这里你理解的不对,从键盘输入的不是数,而是字符串,怎么去解释就看你程序怎么定义了。
-----------------------------------------------------
编译一下,用 o2d 8进制数字 测试。
#include <stdio.h>
int main(int argc, char *argv[])
{
if (argc != 2) {
printf("Usage: o2d octet\n");
return 0;
}
int octet = atoi(argv[1]);
int decimal = 0;
int base = 1;
while (octet > 0) {
decimal += (octet % 10) * base;
base *= 8;
octet = octet / 10;
}
printf("The decimal of octet %s is %d\n", argv[1], decimal);
return 0;
}
温馨提示:内容为网友见解,仅供参考