코드를 실행하면 사용자 y/n 입력을 받아들이도록 코드를 작성했지만 콘솔은 임의의 문자와 일관성이없는 문자를 출력합니다.변수를 바꿔서 C로 인쇄하기
int main()
{
char var1 = "A";
char var2 = "$";
char user_answer;
printf("Do you wanna swap var1 and var2? y/n \n ");
scanf("%c", &user_answer);
if (user_answer == 'y')
{
var1 = "$";
var2 = "A";
printf("var1 is now: %c", &var1, "\n", "var2 is now: %c", &var2);
}
else
{
exit(0);
}
return 0;
}
나는 이것을 몇 시간 동안 디버깅 해왔다. 무엇이 잘못되었는지에 대한 수정? 감사! 모든 char
의
문자 상수는 작은 따옴표'a '를 사용하고''a' '를 사용하지 않고 작성합니다. 당신 printf 또한 잘못되었습니다. 문자 대신 주소를 사용하고 있습니다. – StoryTeller
'char var1 = "A";'... 컴파일러 경고를 듣는다. –
이것은 두 변수를 교환하는 최선의 방법이 아닙니다. 두 변수를 어떻게 바꿀 수 있는지 검색하십시오. – babon