初学者求教-结果跟字符串中字符个数有关
菜鸟求教---结果跟字符串中字符个数有关
目的是想输入一字符串,,然后输出该字符串表示的八进制数的十进制
但 算出的结果是错的,一个字符是68,两个是612?
到底 哪里不对呀
[code=C/C++][/code]#include<stdio.h>
#include<stdlib.h>
int Trans( char s[]);
main()
{
char s[20];
puts("enter a Digit(8)...");
gets(s);
printf("%d",Trans(s));
getch();
}
int Trans( char s[])
{
int i,n=0;
char t;
for(i=0;s[i];i++)
{
t=s[i];
n=8*n+('t'-'0');
}
return n;
}
------解决方案--------------------
n=8*n+('t'-'0');
-->
n=8*n+(t-'0');
------解决方案--------------------
char t;
t你声明的是char变量,不用‘’来表示的
------解决方案--------------------
[code=C/C++][/code]#include<stdio.h>
提醒楼主:
代码应该写在
目的是想输入一字符串,,然后输出该字符串表示的八进制数的十进制
但 算出的结果是错的,一个字符是68,两个是612?
到底 哪里不对呀
[code=C/C++][/code]#include<stdio.h>
#include<stdlib.h>
int Trans( char s[]);
main()
{
char s[20];
puts("enter a Digit(8)...");
gets(s);
printf("%d",Trans(s));
getch();
}
int Trans( char s[])
{
int i,n=0;
char t;
for(i=0;s[i];i++)
{
t=s[i];
n=8*n+('t'-'0');
}
return n;
}
------解决方案--------------------
n=8*n+('t'-'0');
-->
n=8*n+(t-'0');
------解决方案--------------------
char t;
t你声明的是char变量,不用‘’来表示的
------解决方案--------------------
[code=C/C++][/code]#include<stdio.h>
提醒楼主:
代码应该写在
- C/C++ code
和