我是个初学者,这个程序让我纠结半天了,求高手指正
输入一个二到十六进制的数输出十进制的数:#include<stdio.h>
main()
{int n,s=0;char a[20],*p;
scanf("%d",&n);/*说明一下输入的是几进制数*/
gets(a);/*以字符串类型输入一个数据*/
p=a;/*指针变量取得数组a的首地址*/
for(;*p;p++)
{if(*p>='0'&&*p<='9') *P-=48;
else if(*p>='a'&&*p<='z') *P-=87;
else if(*p>='A'&&*p<='Z') *P-=55;/*利用指针指向操作将字符型数据转换成整型数据*/
s+=n*s+*p;/*将n进制数转换成十进制数*/
p++;}
printf("%d\n",s);
}
然后就出现了这么多错误:
D:\VC++ YINCHAO\yinchao1.c(8) : error C2065: 'P' : undeclared identifier
D:\VC++ YINCHAO\yinchao1.c(8) : error C2100: illegal indirection
D:\VC++ YINCHAO\yinchao1.c(9) : error C2100: illegal indirection
D:\VC++ YINCHAO\yinchao1.c(10) : error C2100: illegal indirection
执行 cl.exe 时出错.
这是哪里错了呀