PDA

Просмотр полной версии : [Вопрос] Как работает SSCANF



AgentDaun
07.04.2018, 21:45
Вот сижу, смотрю уроки, и вот попалась такая строка:

CMD:givemoney(playerid,params[])
{
new playerID,Cash;
if(sscanf(params,"dd",playerID,Cash))
{
return SendClientMessage(playerid,COLOR_RED,"/givemoney ID Количество");
}


Я или тупой или что-то. Ведь если не указывать в IF чему равняется выражение то по дефолту ставится == true. Ну так если в параметры попали нужные нам 2 числа через пробел, типо /givemoney 12 1000 то выражение верно, но почему то return не происходит,а если не указать один из параметров, то наоборот return идёт. Шо це такое?

DeimoS
07.04.2018, 21:57
Ведь если не указывать в IF чему равняется выражение то по дефолту ставится == true.

И да, и нет. Это условие будет означать "не равно нулю". То бишь, любое значение, отличное от нуля.

А sscanf возвращает -1 в случае, если подстрока не найдена и 0 в случае, если найдена