#include <stdio.h>
int main()
{
char a, b;
int i;
printf("두 문자를 입력 :");
scanf("%c %c", &a, &b);
i=strcmp(a, b);
printf("두 문자의 차이 ==> %d", i);
}
E R을 입력하면 13이 나와야 되는데, 왜 에러가 나냐?
#include <stdio.h>
int main()
{
char a, b;
int i;
printf("두 문자를 입력 :");
scanf("%c %c", &a, &b);
i=strcmp(a, b);
printf("두 문자의 차이 ==> %d", i);
}
E R을 입력하면 13이 나와야 되는데, 왜 에러가 나냐?
설명해드렸습니다
위에 #include <string.h>를 빼먹어서...
strcmp가 주소를 받아가는 함수라서 그런거 같은데..
두번쨰 원인. NoOTL이 말한 거 ㅋㅋㅋㅋㅋㅋ 맞음. 13 구하고 싶은 거면 그냥 a - b해라. 근데 13이 아니라 -13 나와야 정상이야... strcmp도 A - B를 하지 abs(A - B)를 하지는 않음
함수이름에 버젓히 str이라고 되어있는데 ..
검색해 보니까 strcmp는 차이비교가 아닌데?
그러고보니 글쓴이가 원하는거 하려면 함수도 필요 없는데?!
ㄴ 이건 또 뭔 개드립이지...
NoOTL 말고 조쉬스 말한 거
댓글에 있네 ㅋㅋ 못봤당
그냥 죽어라.
아 차이비교가 맞는거냐? 뭐지 내가 잘못본건가 다시 좀 보고옴
애초에 어셈블리어 레벨에서도 두 값 비교하려면 뺄셈으로 하는데 ㅋㅋㅋ
아 내가 잘못말했네 a-b 차이를 잘못말함ㅋㅋ
여긴 왜이리 난잡한가
http://www.cplusplus.com/reference/cstring/strcmp/
일단 <string.h> 인클루드 안했고. strcmp가 저기 링크보면 const char* 즉 씨스트링을 비교하는 함수인데 캐릭터를 쳐비교하고있으니까 안되지 가릿?