-3
, поэтому я получаю эту проблему преобразования char в const char. как я могу заставить этот код работать? пожалуйста, не используйте указатели, потому что им новичок, и я не знаю ничего о них ... Спасибо :)неверное преобразование из 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;
}
Вы пропускании 'char'to функцию, которая ожидает в' константный символ * ' , Если вы не знаете разницы, вам нужна хорошая книга по программированию на С. – WhozCraig
Нет. Это сообщение об ошибке должно быть «неверным преобразованием из« char * »в' char' », поскольку вы передаете массив (который распадается на указатель), где ожидается один символ. ** Читайте и понимайте свой собственный код. Нет причин для этого. ** –
@ H2CO3: вызов «strlen» должен вызывать ошибку, например «неверное преобразование из« char »в' const char * '», которое близко к тому, что находится в заголовке. –