Программа шестнадцатеричное число
strResult = '\0';
Ты чего-то пишешь пишешь в переменную, а потом ее обнуляешь.
Может быть ты хотел strResult[ i ] = '\0'; ?
вот есть конечно! как я ее пропустил:) дааа:) спасибо!:)
"char ch = 48;" тоже машинозависимо. Должно быть так: <<char ch = ' ';>> --- ...Я работаю...
Похожие темы:
Оставить комментарий
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);
}
может ли кто то по этому поводу какие то слова сказать?:)