두 개의 참(1) 또는 거짓(0)이 입력될 때,
모두 참일 때에만 참을 출력하는 프로그램을 작성해보는 문제이다.
<풀이 1..>
#include<stdio.h>
int main(void)
{
int a,b;
scanf("%d %d", &a,&b);
if ((a ==1)&&(b==1))
printf("1");
else
printf("0");
return 0;
}
이 문제에서 1과 0 만이 입력값으로 들어오는 것을 알고 있어서, 1은 참 0은 거짓으로 생각하고 이렇게 코드를 작성하였다. 단, 입력값으로 2 나 3이 들어왔을 때 0이 출력이 되는데 , 이 문제에서 1과 0만이 입력된다는 것을 모른다면, 문제가 될 소지가 있다.
<풀이 2>
#include<stdio.h>
int main(void)
{
int a,b;
scanf("%d %d", &a,&b);
if ((a != 0)&&(b != 0))
printf("1");
else
printf("0");
return 0;
}
그래서 이와 같은 코드를 작성하여주면, 그러한 문제가 없어지게 되는데!=과 &&의 연산자를 통해 둘 다 0이 아니면, 1을 출력하게끔 해주는 코드이다. <풀이 2>와 같은 코드가 조금 더 좋은 코드라고 할 수 있을 것 같다.