这怎么错了. 程序超短

来源:百度知道 编辑:UC知道 时间:2024/06/14 17:55:48
#include <iostream>
int main()
{
int t[3]={2,68,9};
std::cout <<*t++;
system("pause");
}
为什么是错的. 说明原因就行了.
回答者:guojingcha - 副总裁 十级 你连我程序都没有看懂.
在这乱答什么.
回答者:ydliwei1123 - 秀才 三级 你什么也不懂. 在这乱叫.

某位已经回答正确了。

t其实是一个 int* const类型的,不能以正常的手段改变它的值

你定义的时候是数组
但在引用的时候是个指针
这个指针根本没有意思
可能你会说 t就是数组的首元素的地址
但不要忘了
这里你定义的时候是数组
因此你这个 t(首元素)就是一个常量 而不是变量
即然是常量 就不可能会有 ++了
所以t++也是错误的

为什么是错的. 说明原因就行了.
问题补充:回答者:guojingcha - 副总裁 十级 你连我程序都没有看懂.
在这乱答什么.
回答者:ydliwei1123 - 秀才 三级 你什么也不懂. 在这乱叫.

LZ你怎么这么小心眼呢,百度是你开的啊,大家来这里都是为了学习,即使没帮到你,你也不用这么狗急跳墙吧。LZ的RP真是不敢恭维!!!
建议LZ先回去学好说话,别没学好说话,就急着出来乱叫,真是丢人显眼。BS你!

对楼主的态度表示遗憾。

#include <iostream>
int main()
{
    int tt[3] = {2, 68, 9};
    int *t = tt;
    std::cout << *t++;
    system("pause");
    return 0;
}

std::cout <<*t++;
这里错了。应该是
std::cout<<(*t)++;
因为前面*t++,这里的运算级有问题。

试了一下,应该是数组的名字不能进行++运算;

改了一下,用指针指向数组首地址;

#include <iostream&