Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 取消引用运算符和endl没有输出_C++_Pointers - Fatal编程技术网

C++ 取消引用运算符和endl没有输出

C++ 取消引用运算符和endl没有输出,c++,pointers,C++,Pointers,我试图绕过指针,无法理解为什么在“\n”时使用解引用运算符打印值效果良好被添加到行中,但由于某些原因,我在使用endl时没有得到任何输出。终端显示无输出,带有endl。这是不是跟你有关 #包括 使用名称空间std; int main() { int arrayA[]={0,1,2,3,4,5}; int*ptr\P; ptr_P=arrayA; for(int i;i

我试图绕过指针,无法理解为什么在
“\n”时使用解引用运算符打印值效果良好被添加到行中,但由于某些原因,我在使用
endl时没有得到任何输出。终端显示无输出,带有
endl。这是不是跟你有关

#包括
使用名称空间std;
int main()
{
int arrayA[]={0,1,2,3,4,5};
int*ptr\P;
ptr_P=arrayA;
for(int i;i<6;i++)
{

您不能初始化
i

for (int i; i < 6; i++)
for(int i;i<6;i++)
这应该是:

for (int i = 0; i < 6; i++)
for(int i=0;i<6;i++)
否则,您将有未定义的行为,您的循环可能根本无法执行。
请注意,任何启用了适当警告的好编译器都会向您指出此错误,并为您节省一些时间和精力:

main.cpp: In function 'int main()':
main.cpp:10:14: warning: 'i' may be used uninitialized in this function [-Wmaybe-uninitialized]
     for (int i; i < 6; i++)
              ^
main.cpp:在函数“int main()”中:
main.cpp:10:14:警告:此函数中可能未初始化就使用了“i”[-Wmaybe uninitialized]
for(int i;i<6;i++)
^

您没有初始化
i

for (int i; i < 6; i++)
for(int i;i<6;i++)
这应该是:

for (int i = 0; i < 6; i++)
for(int i=0;i<6;i++)
否则,您将有未定义的行为,您的循环可能根本无法执行。
请注意,任何启用了适当警告的好编译器都会向您指出此错误,并为您节省一些时间和精力:

main.cpp: In function 'int main()':
main.cpp:10:14: warning: 'i' may be used uninitialized in this function [-Wmaybe-uninitialized]
     for (int i; i < 6; i++)
              ^
main.cpp:在函数“int main()”中:
main.cpp:10:14:警告:此函数中可能未初始化就使用了“i”[-Wmaybe uninitialized]
for(int i;i<6;i++)
^

它对我使用endl是有效的…没有理由不这样做。你确定你正确地重建了程序吗?简直不敢相信。endl不起作用的唯一情况是当endl被重新定义为其他内容时。因此请尽量不要使用
使用命名空间std
并用
std::endl
替换
endl
,只要重新执行即可g“\n”对于endl,我使用的是Netbeans 8。这是我上面的整个程序。std::endl没有解决这个问题。因此,您通常并不真正需要
std::endl
,只需在行尾编写
'\n'
,并仅在真正需要时刷新。请记住,当流关闭时,输出流将被刷新,而当程序关闭时,输出流将被刷新m退出。如果我在终端中键入make testprogam,然后键入./testprogram,我仍然什么也得不到。它对我使用endl有效…没有理由不起作用。你确定你正确地重建了程序吗?难以置信。endl不起作用的唯一情况是endl被重新定义为其他内容。因此请尽量不要使用
使用namespace std
并将
endl
替换为
std::endl
仅替换“\n”对于endl,我使用的是Netbeans 8。这是我上面的整个程序。std::endl没有解决这个问题。因此,您通常并不真正需要
std::endl
,只需在行尾编写
'\n'
,并仅在真正需要时刷新。请记住,当流关闭时,输出流将被刷新,而当程序关闭时,输出流将被刷新如果我在终端中键入make testprogam,然后键入./testprogram,我仍然什么也得不到。。