-6
#include <iostream>
#include <string>
typedef unsigned long long ul64;
double m[10] = { 65.45433, 45435.0054, 232543535.9, 0.00043543, 99.99999, 5345434.000, 754354.6, 80008.243, 0.9, 10.01 };
union foo
{
char cs[8];
double x;
ul64 a;
foo(std::string s) { for (int i = 0; i < s.size(); i++) cs[i] = s[i];}
foo(double y) :x(y){}
foo(ul64 b) :a(b){}
};
int main()
{
foo bar(0xe8e711395e65686d);
for (int i = 1; i <= 10; i++)
bar.x *= m[i];
for (int i = 1; i <= 8; i++)
std::cout << bar.cs[i];
std::cout << std::endl;
return 0;
}
내 시험용으로이 코드가 있지만 무엇을하고 있는지 알 수 없습니다. 도와주세요, 제발! 나는 그것이 약간의 오류를 가지고 있고 어떤 것을 표시한다는 것을 알고 있습니다.이 코드가 수행하는 작업 &
노조는 무엇인지 알고 있습니까? – gnasher729
이 코드는 잔인하며 실행중인 프로세서에 따라 달라집니다 –
배열 m이 1에서 10까지이므로 정의되지 않은 동작이 있습니다. –