Member 13239519 Ответов: 1

Что не так с этим кодом? Нужна помощь!


<pre>#include <iostream>
using namespace std;
int main ()
{
	for( int n; cin>>n; cout<<n*n<< endl );
	return 0; 
}
-------------------------------------------------------
Compile it without any question,but when I run the code, just showing up 
"Press any key to exit" and "Failed to execute "

What I have tried:

It's just mention in passing in my text book and I tested it out of interest.So,could anyone warmhearted help me?

Richard MacCutchan

Должна быть какая-то разница между тем, что вы разместили здесь, и тем, что вы запускаете.

Member 13239519

О, я изменил компилятор, и он работал хорошо. Это ошибка моего компилятора.Во всяком случае, большое вам спасибо!

1 Ответов

Рейтинг:
0

KarstenK

Вы злоупотребляете циклом for. Взгляните на это для обзора цикла.
Может быть, это то, что вы хотите

int main ()
{
 int count = 0;
 cin>>count;// get count
	
 for( int n = 0; n < count; n++ ) {
   cout<<n*n<< endl;//show squaere product
 }
  return 0; 
}


OriginalGriff

Оказывается, это не так: это совершенно правильный C++.
cin возвращает true, если входные данные соответствуют спецификации (т. е. в данном случае пользователь ввел целое число), и false, если это не так.
Поскольку спецификация для цикла for просто говорит, что это условие, оно прекрасно и допустимо.
Это даже работает, если вы попробовали-код, представленный OP, работает и функционирует без ошибок, как говорит Ричард.