Warum erhalte ich dieses unerwartete Ergebnis mit atoi () in C?

Ich verstehe die Ergebnisse des folgenden C-Codes nicht.

main()
{
    char s[] = "AAA";
    advanceString(s);
}

void advanceString(p[3])
{
    int val = atoi(p);
    printf("The atoi val is %d\n",val);
}

Hier dieatoier @ Wert wird als 0 angezeigt, aber ich konnte den genauen Grund nicht herausfinden. Nach meinem Verständnis sollte es die Summe der Dezimaläquivalente aller Werte im Array sein? Bitte korrigieren Sie mich, wenn ich falsch liege.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage