#java #c
#java #c
Вопрос:
Я новичок в C , и я хочу преобразовать эту строку кода цикла for в версию java
for(;diff;diff ){
do something here
}
diff — это переменная целочисленного типа.
Заранее спасибо.
Комментарии:
1. Что такое
diff
это POD или класс? Он подписан или без знака?2.
diff
начинается с отрицательного значения? иначе исходный цикл будет зацикливаться до INT_MAX, затем повторяться доdiff
значения 0 — это то, что происходит? если нет, то условие для проверки должно бытьdiff < 0
Ответ №1:
Проблема в том, что C допускает неявное преобразование из int в boolean для условия завершения, тогда как Java этого не делает. Попробуйте
for(; diff != 0; diff )
{
что должно быть эквивалентно.
Ответ №2:
В Java, в отличие от C , целое число не преобразуется автоматически в логическое выражение. Вы должны написать это следующим образом на Java:
for ( ; diff != 0; diff ) {
// do something here
}