【发布时间】:2021-11-29 21:02:49
【问题描述】:
我正在学校学习 C++ 课程,并且给出了几行有错误的代码,但我无法找到所有 4 个错误。该代码应该打印数字“302”我不擅长使用指针。 这是代码
int main () {
int* ptr;
int* temp;
int x;
ptr = int;
*ptr = 3;
cout << ptr << endl;
x=0;
temp = x;
cout<<*temp<< endl;
ptr = int;
*ptr = 2;
cout<<*ptr-*temp <<endl;
return 0;
}
目前我发现的两个错误是
- cout 和 endl 前面需要有 ::std
- temp = x 需要是指针,*temp = x
【问题讨论】:
-
ptr = int;不会编译;作者可能打算ptr = new int; -
另外
*temp = x;将调用未定义的行为,除非temp已经指向一个有效的int(在这个例子中它不是);也许你想要temp = &x;。