2015-02-19 5 views
-4

Так что я смог Printf выводить что-либо, находясь в вложенном для петельстранного поведения с Е()

, например:

printf("hello "); 
for(int i =0; i< 4; i++) 
    for(int j = 0; j < 5; j++) 
    printf("world"); 

Это будет только слово привета, не будучи в состоянии для вывода слова «мир». Я попытался fflush (stdout), но кажется, что команда не смогла решить проблему. Я использую Mac. Может кто-нибудь дать предложение о том, как это исправить?

+1

Будем ли мы * угадывать * какие 'size1' и' size2' есть? Отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve). – WhozCraig

+1

Вы инициализировали переменные 'size1' и' size2'? – shauryachats

+0

Да, я сделал это в своем коде, это всего лишь пример кода, который я использую для демонстрации проблемы. О, хорошо, я сейчас поставлю некоторое количество данных, чтобы исключить возможность вычитания для этого сообщения – user1763658

ответ

1

Проблемы с кодом, представленным в ссылке link что

for(i = 0; i > m; i++) 

условия вы использовали это i > m, когда он должен был i < m.

+0

да, спасибо Я понимаю, что тоже после тщательного изучения кода, извините за сообщение слишком поспешного – user1763658

0

Предположим, что вы проводите эксперименты с выводами с использованием printf и loop. И сначала у вас есть программа:

#include <stdio.h> 

int main(int argc, char * argv[]) 
{ 
    printf("hello "); 
    return 0; 
} 

и эта программа успешно скомпилирована и работает.

Чем вы добавляете петли, как:

#include <stdio.h> 

int main(int argc, char * argv[]) 
{ 
    printf("hello "); 
    for(int i =0; i< 4; i++) 
     for(int j = 0; j < 5; j++) 
      printf("world "); 
    return 0; 
} 

и нажмите волшебную кнопку в вашем IDE - эта кнопка (или горячие клавиши комбинации) следует пересобрать свой проект и запустить программу .... но Ждут» t ... и просто запустите ранее скомпилированный код (без циклов).

Таким образом, тщательно проверять сообщения от компилятора, а затем попробуйте выполнить следующие действия (после каждого шага попытаться скомпилировать и запустить программу еще раз):

1) ставить счетчики заявление в начале вашей программы:

#include <stdio.h> 

int main(int argc, char * argv[]) 
{ 
    int i; 
    int j; 
    printf("hello "); 
    for(i = 0; i< 4; i++) 
     for(j = 0; j < 5; j++) 
      printf("world "); 
    return 0; 
} 

2) переименовать файл с исходным кодом в * .cpp

3) чистый и восстановить ваш проект (это специальные опции IDE, которые гарантируют, что все предвидения скомпилированные части программы будут удалены, и новый один будет построен)

+0

Я просто хочу указать, что проблема была опечатка, Код @ user1763658 предоставил в вопросе не код, с которым он сталкивался. В вопросе эта проблема исправлена, но в его исходном коде была опечатка. –

+0

O.k. Я понимаю, поэтому user1763658 должен удалить или закрыть проблему – VolAnd

Смежные вопросы