Функции:Функция всегда возвращает 0
int num(char a[]) //将字符串型的数字转化成int
{
int z, x, y;
z = 0;
int m = sizeof(a);
if(m == 1)
z = a[0] - 48;
if(m == 2)
{
x = a[0] - 48;
y = a[1] - 48;
z = x * 10 + y;
}
if(m == 3)
{
x = a[0] - 48;
y = a[1] - 48;
z = a[2] - 48;
z = x * 100 + y * 10 + z;
}
например: char a[3]={2,15};
, но num(a) = 0
.
Я не знаю почему.
Я не могу обнаружить 'return' заявление вообще?? Также 'int m = sizeof (a);' вероятно, не делает того, что вы думаете, что он делает. –
Нет возврата Нет значения, кроме значения по умолчанию int = 0 – MacKentoch