Я искал, как правильно сравнивать элементы char в массиве char, но у меня это не получается.Я пытаюсь сравнить первый символ в массиве символов с оператором (проверяя, существует ли + или -).
РЕДАКТИРОВАТЬ: увидел мою ошибку.Логическая ошибка в операторе if.Спасибо всем за такие быстрые ответы.
Сначала я попробовал это:
main(int argc, char *argv[]){
int i;
int len;
char input[10];
for(i = 1; i < 8; i++){
len = strlen(argv[i]);
strcpy(input,argv[i]);
//debug purposes
printf("%c\n",input[0]);
if(input[0] != '+' || input[0] != '-') {
printf("incorrect number format. %s has no sign.\nnow terminating.\n", input);
}// end if
}//end for
}//end main
Затем я прочитал еще несколько постов и увидел, что я должен сравнивать символы с помощью strcompare,И тогда я попробовал это: if( !strcmp(input[0],'+') || !strcmp(input[0],'-') )
Однако, они все еще не сравниваются должным образом.Я получаю ошибку сегментации с приведенным выше кодом и с моим предыдущим кодом, он напечатает оператор, но все равно перейдет к оператору if, говорящему, что формат был неправильным.Я все еще довольно новичок в C, поэтому любые советы или советы о том, как я могу заставить эти символы сравнивать правильно, будут высоко цениться.Спасибо.