Программа шестнадцатеричное число

next29

пример кода, который выделяет шестнадцатеричное число. проблемма в том, что у меня он почему то на разных машинах ведет себя по
разному, хотя -- где машинозависимый кусочек понять не могу:%)
#include
#include
#include
#include
static char getNext(const char **);
int main{
char ch = 48;
int i = 0;
int flag = 0;
char *string1 = (char *)_alloca(sizeof(char) * 100);
char *strResult = (char *)_alloca(sizeof(char) * 100);
strcpy(string1, "01234512");
ch = getNextconst char **)&string1);
for( ;isigit(ch) || toupper(ch) == 'X'; ch = getNextconst char **)&string1{
if(!(flag&0x0001) && toupper(ch) == 'X'){ // # 'x' is too fast
break;
} else if(!(flag&0x0001{
flag |= 0x0001;
} else if(flag&0x0002 && toupper(ch) == 'X'){ // # too many 'X' in this case
break;
} else if(flag&0x0001 && toupper(ch) == 'X'){
flag |= 0x0002;
}
strResult[i++] = ch;
}
strResult = '\0';
printf("-%s-\n", strResult);
return(0);
}
static char getNext(const char **str){
char ch = *(*str)++;
return(ch);
}
может ли кто то по этому поводу какие то слова сказать?:)

Chuk

У тебя тут нет ошибки?
strResult = '\0';
Ты чего-то пишешь пишешь в переменную, а потом ее обнуляешь.
Может быть ты хотел strResult[ i ] = '\0'; ?

next29

вот есть конечно! как я ее пропустил:) дааа:) спасибо!:)

spiritmc

"char ch = 48;" тоже машинозависимо. Должно быть так: <<char ch = ' ';>> --- ...Я работаю...
Оставить комментарий
Имя или ник:
Комментарий: