所以我得到这个转换问题char到const char。我怎样才能使这段代码起作用? 请不要使用指针,因为我是一个新手,我不知道任何关于他们...谢谢:)
#include<stdio.h>
#include<string.h>
char a[50];
int power(char a) {
int b;
b=0;
if(strlen(a)-b==0)
return 0;
else if(a[b]=='x'){
return power(a,b+1)+1;
}
else{
return power(a,b+1);
}
}
}
int main()
{
scanf("%s",&a);
printf("%d",power(a));
return 0;
}
答案 0 :(得分:1)
power()
应该采用数组(或指针,但你要求保留它们,所以...)
并且b
需要是一个参数,而不是始终为0
的变量。
int power(char a[], int b) {
if(strlen(a)-b==0)
return 0;
else if(a[b]=='x'){
return power(a,b+1)+1;
}
else{
return power(a,b+1);
}
}
最后,您的scanf()
调用不需要指向数组地址的指针:
int main()
{
scanf("%s",a);
printf("%d",power(a, 0));
return 0;
}