if...else if...else 구문인데요 왜 실행이 안되는지좀 알려주세요
딸기맛캔디
질문 제목 :
실행이 왜안될까요????
실행 시키려면 어떻게해야하나요??
질문 내용 : #includestdio.h
int main()
{
int n=0;
printf(스마트폰 어플이 아닌 것은?\n 1.카카오톡 2.네이버 3.웹툰 4.호핀 5.오바마\n);
scanf_s(%d,&n);
if(n==1)
printf(오답\n);
else if(n==2)
printf(오답\n);
else if(n==3)
printf(오답\n);
else if(n==4)
printf(오답\n);
else(n==5)
printf(정답\n);
printf(결과:%d, n);
return 0;
}
-
은별
사용자로부터 데이터를 입력받을때 scanf를 사용하면 정해준 크기보다 큰(긴)데이터를 입력할 수 있게되는데, 이렇게되면 버퍼오버플로우 상태가 됩니다.
보통 이런 문제점들울 이용해 해킹 또는 크래킹이 이루어질 수 있습니다.
하여 scanf_s 라는 보안함수를 만들어 입력받는 데이터를 저장할 버퍼 크기를 지정해줌으로써 취약점을 보완해놓은겁니다. -
잉간
아 esle if 는 속도군요 하나 배웠네요
그리고 제가 맛폰으로 한번 돌려봤는데요
else 부분 조건 지우고 sacnf s 를 scanf로 해주면 문제 없이 돌아가네요 근데 scanf_s 뭐죠..? -
뽀대미녀
&써도 안되는건 같더라구요 ㅎㅎ;;
-
보미
스캔에프에서 엠버센트때문인듯
초기화되지않은n머시기라고뜨던가 -
큐트
&은 제가 실수로 빼먹고 안쓴거네요 ㅋㅋ;;;
&있어도 실행은 안되구요
그리고 if 만 쓰게되면 그냥 if 문인걸로 알고있거든요 if문은 속도가 느려진다고 배웠어요... -
우수리
scanf s 는 처음 보지만 & 빼먹은거 같은데요
그리고 굳이 else if 안해도 if 만 써도 되구요
else는 if 와 else if 를 제외한 경우라서 조건 없어도 되요 -
텃골돌샘터
아 아직 break문 배우기 직전이에요 ㅎ;;
-
도널드
#includestdio.h
int main(void)
{
\tint n;
\tprintf(\1.a , 2.b , 3.c \\n\);
\tscanf(\%d\ -
큰솔
그럼 어떤 문장이 와야 되는건가요 제가 원하는 결과를 보려면?
-
장미
else에는 조건문이 없어야되요