Если это строка, то конец строки бывает? строка точно unsigned? неопределенный указатель порвёт фсё в клочья. на выражение в while компилер должен ругнуться, мол неопределен порядок действий, а в зависимости от порядка результат будет разный
Отправлено
Vit 17 октября 2009, г. 20:44
В ответ на:
Вопрос по указателю (+) отправлено пользователем
Brut 17 октября 2009, г. 15:34
и при пустой строке получишь позицию 0 (ноль) - равно при нахождении символа сразу по смещению - думаю, что желали немного не то.
Я бы рыл примерно так
//signed
int foo(unsigned char msg, int offset){
int res;
if(NULL == msg) return -1;
res = strlen(msg);
if(res == 0) return -2;
if(res(<offset) return -3;
msg += offset;
res = 0;
while(1){
if('\0' == *msg) return -4;
if(0x22 == *msg) return res;
res++;
}
}
но реального применения такой писанине не вижу