Irgendwie ist das ganze auch etwas komisch was du da tust.
Zu allererst, würde ich statt einem String lieber einen "Buchstaben" (Char) nehmen
und das ganze dann mit switch aufsplitten, statt mit strcmp.
Du hast ja nicht mal einen wirklichen string. Der String den du hast ist genauso groß wie eine normale Variable,
das ist also irgendwie blödsinn, vor allem weil du bei sscanf eine Größe angeben musst und noch Platz für den EOS brauchst, dementsprechend bräuchtest du einen String mit der Größe 2.
Ich hab das ganze so gelöst:
new number[2],character;
sscanf("2 2 +", "ddc", number[0], number[1], character);
Calculator(0,number[0],character,number[1]);
//
stock Calculator(playerid,n1,_char,n2)
{
new str[128],Float:result;
switch(_char)
{
case '+':
{
result = n1 + n2;
format(str,sizeof(str),"Aufgabe: %d + %d = %f",n1,n2,result);
}
case '-':
{
result = n1 - n2;
format(str,sizeof(str),"Aufgabe: %d - %d = %f",n1,n2,result);
}
case '*':
{
result = n1 * n2;
format(str,sizeof(str),"Aufgabe: %d x %d = %f",n1,n2,result);
}
case '/':
{
result = n1 / n2;
format(str,sizeof(str),"Aufgabe: %d / %d = %f",n1,n2,result);
}
}
return print(str);
}