C언어에서 언제 &&를 쓰고, 또 어떨떄는 &&대신 |를 쓰는지 모르겠습니다.
이솔
질문 제목 : -글보다는 소스로 대체하겠습니다.
문제는 사용자에게 2개의 수를 입력받아, 곱셈결과를 찍어내는데
사용자가 두 수 모두 0,0을 입력할때까지 곱셈을 계속하며 0,0을 입력하면
몇 번의 연산을 했는지를 출력하며 프로그램이 종료되게하는 문제입니다.
질문 내용 :
#includestdio.h
int count=0;
void mul(int a, int b);
void main(){
int a,b;
do{
printf(두 수 입력 : );
scanf(%d %d, &a,&b);
mul(a,b);
}while(a!=0&& b!=0);
printf(count는 %d입니다.\n, count);
}
void mul(int a, int b){
if(a!=0&& b!=0){
count++;
printf(곱은 %d입니다.\n, a*b);
}
}-----------------------정답-----------------------------
#includestdio.h
#include stdlib.h
int count=0;
void mul(int a, int b);
void main(){
int a,b;
do{
printf(두 수 입력 : );
scanf(%d %d, &a,&b);
mul(a,b);
}while(a!=0 | b!=0);
printf(count는 %d입니다.\n, count);
}
void mul(int a, int b){
if(a!=0 | b!=0){
count++;
printf(곱은 %d입니다.\n, a*b);
}
}
/////////////////////
a!=0 && b!=0일때는 &&(기호의미가 and가 아닌 것인가요?)
어째서 &&가아닌 |를 써야하는지 모르겠습니다. 감사합니다.