이렇게 설명하는 방법을 모르겠습니다. 저는 C++ 초보자입니다. 누군가 제게 설명해 주시면 고맙겠습니다. 나는 float x, y 대신 float y, x을 작성했으며 프로그램은 정상적으로 작동했습니다. 컴파일러는 오류를보고하지 않았지만 프로그램은 지시 한대로 처리하지 않았습니다. 그것은 전체 'while'루프를 무시하고 끝까지 곧장 갔다. 나는 x와 y의 위치를 바꿈으로써 그것을 고쳤다. 그러나 x, y의 위치가 왜 달라 지 느냐??C++ float를 사용하는 동안 x, y의 위치가 중요한 이유는 무엇입니까?
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
float x,y; /*This is the problem. Why does float y,x make a difference?*/
int s=0;
int s1=0;
int max=0;
cout<<"Unesi stanje racuna:"<<endl;
cin>>y;
while(x!=0)
{
cout<<"Unesi vrijednost:"<<endl;
cin>>x;
max==x;
if (x>0) s=s+x;
if (x<0) s1=s1+x;
if(x>max) max=x;
}
cout<<"suma pozitivnih :"<<s<<endl;
cout<<"suma negativnih :"<<s1<<endl;
cout<<"najveci unos je :"<<max<<endl;
cout<<"ukupno stanje je: "<<s+s1+y<<endl;
return 0; }
초기화되지 않은 변수를 사용하면 정의되지 않은 동작으로 이어집니다. –
선언의 순서는 차이가 없습니다. * 차이점은 * 초기화되지 않은 변수를 사용하는 것입니다. 'x'에 값을 할당하는 것을 잊었습니다. (또한 부동 소수점 값을 평등하게 비교하면 안됩니다. 실망하게 될 것입니다.) –
@CodyGray 입력 값에 y 값을 할당했다고 생각합니다. – Li357