Там несколько раз, когда мне действительно нужно сравнить два CHAR, и из того, что я знаю, нет функции в C для сравнения двух CHAR (возможно, я ошибаюсь), и из-за этого я решил написать одно мой собственный. Функция работает нормально, но я не уверен, что это нормально, или есть некоторые проблемы. Я решил спросить вас об этом, если моя функция в порядке. Вот программа:Функция сравнения символов в C
#include<stdio.h>
#include<string.h>
int chrcmp(const char chr1, const char chr2);
int main(void){
char firstChar = 'a';
char secondChar = 'a';
if(chrcmp(firstChar, secondChar) == 0){
printf("We have a Match\n");
}else{
printf("There was no match Found.\n");
printf("%c",chrcmp(firstChar, secondChar));
}
return 0;
}
int chrcmp(const char chr1, const char chr2){
size_t lenght1, lenght2;
char s1[2] = {chr1 , '\0'}; /* Convert chr1 to string */
char s2[2] = {chr2 , '\0'}; /* Convert chr2 to string */
lenght1 = strlen(s1); /* Store lenght of first String */
lenght2 = strlen(s2); /* Store lenght of second String */
if(lenght1 == 1 && lenght2 == 1){ /* Checking if both strings have the same size (1) */
if(strcmp(s1,s2) == 0){ /* Compare both strings */
return 0; /* Match Found! */
}else{
return 1; /*No Match!;*/
}
}else{
return 1; /*To many chars Found!;*/
}
}
Если есть какие-то проблемы, или если я сделал что-то неправильно у меня нет ideeas.
Не связано с вашей проблемой и на самом деле nitpick, но слово 'length', а не' lenght'. – szczurcio
Английский язык не мой, но я думаю, что вы уже заметили это, – Michi
Да, я не пытался критиковать вас или заставлял вас чувствовать себя плохо, просто дружеское замечание, чтобы вы знали правильное правописание в будущем :) – szczurcio