2016-08-01 11 views
-5

Боюсь, мой вопрос не будет полезен для этого форума, но я действительно не мог найти ответа на этот вопрос. Прежде всего, извините за вопрос супер-новичка.Печать рисунка '*'

Предположим, меня попросили создать узор треугольника * s с контуром.

код у меня было:

for (row=1;row<=10;row++){ 
for (col=1;col<=row;col++){ 
cout << "*"; 
} 
cout << "\n"; 
} 
cout << "\n"; 

для печати треугольной формы * s.However, решение, предложенное следующим образом:

for (int row = 1; row <= 10; ++row) { 
for (int col = 1; col <= row; ++col) 
cout << '*'; 
cout << '\n'; 
} 
cout << '\n'; 

И, казалось, производят тот же результат, но как прийти ? Я думал, что «++ col» добавляет 1 к начальному значению, которое начнет печатать с **.

Кроме того, есть ли какая-либо хорошая/разница между использованием '' вместо ""? Я оглянулся, чтобы посмотреть, не пропустил ли я его из учебника, но я не мог найти причину. Кроме того, я не мог найти хороший ответ для этого при поиске в Google.

Пожалуйста, помогите.

+7

Stack Overflow - не форум. –

+2

вы хотите узнать разницу между * pre-increment * и * post-increment * и * string литералами * и * символьными литералами *. – jaggedSpire

+0

О, это причина, почему я получил мгновение -3? – Minjae

ответ

1

структура для цикла является

for(int i=0; i<10; i++)

int i=0; является инициализатор. Это выполняется только один раз, когда цикл for даже начинается.

i<10 это состояние, которое оценивается до каждый цикл.

i++ - это запоздалая мысль. Он запускается после каждый цикл.

Так что в вашем примере, даже если да, ++row и ++col увеличивайте переменную. Это происходит не до после тела петли.

Поэтому использование ++row или row++ не имеет значения до конечного результата.

+0

Спасибо за ответ, но я до сих пор неясно с использованием приращения. Когда я использую increment for for-loop, do ++ i и i ++ не имеют значения ?. – Minjae

+2

В этом контексте не имеет значения @Minjae –

+0

@FirstStep Спасибо! – Minjae