안녕 얘들 아, 내가 char
을 가지고 있고 그것에 정수/double을 추가하고 싶다. char는 signed char 여야하므로 int로 만들 수는 없습니다.c의 char에 값을 추가 하시겠습니까?
char var = -55;
printf("Char is %d, add, char is now: %d\n", var, var+2);
그 코드는
printf("Char is %d, add, char is now: %d\n", var, var+2/3*2);
그것은 전혀 추가하지 않습니다 ... 작동하지만, 최대한 빨리 일부 또는 무언가를 추가 할 수있다. 어떤 아이디어? 아마도 반올림 및 기타 등등과 관련이 있습니다.
감사합니다.
2/3가 0 인보십시오. – MYMNeo
흠? 내가 2/3을 두 번 먼저 캐스팅해야할까요? EDIT - 하하, 기본 BODMAS를 잊어 버렸습니다. 그렇다면 2/3 = 0에 2를 곱합니다. -.-. 감사! – Travv92
'var'을 명시 적으로'signed char'로 선언하십시오. 그렇지 않으면 다른 컴파일러를 사용할 때'unsigned char'를 사용하게 될 위험이 있습니다. –