The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Printf цикл отступ, dcc0 (?), 13-Сен-16, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


3. "Printf цикл отступ"  +/
Сообщение от f2404 (ok), 13-Сен-16, 17:18 
>[оверквотинг удален]
>>> int a = 1;
>>> a++;
>>> while (a < 10) {
>>> printf("d");
>>> }
>>> Вместо 12 как-то можно подставить переменную а?
>> Можно выводить пробелы в цикле (если я правильно понял задачу)
>>   for (int j = 0; j < a; ++j) printf("
>> ");
> Ok, вопрос в том , как увеличить пробелы для каждой итерации?

for (int a = 0; a < 10; ++a) { // основной цикл: a от 0 до 9
  for (int j = 0; j < a; ++j) printf(" "); // вложенный цикл: печатаем a пробелов
}

Ответить | Правка | Наверх | Cообщить модератору

4. "Printf цикл отступ"  +/
Сообщение от dcc0 (?), 13-Сен-16, 18:06 
#include <stdio.h>


main () {

    char b = 's';
    int i = 0;    

    char buf[20];    
    while (i < 20) {
buf[i]=32;
        printf("%s", buf);
        printf("%c\n", b);

        ++i;
    }

}
Собрал пока такое.
Работает верно, но вывод несколько загадочен.

Ответить | Правка | Наверх | Cообщить модератору

5. "Printf цикл отступ"  +/
Сообщение от f2404 (ok), 13-Сен-16, 18:14 
>[оверквотинг удален]
>  char buf[20];
>  while (i < 20) {
> buf[i]=32;
>   printf("%s", buf);
>      printf("%c\n", b);
>      ++i;
>  }
> }
> Собрал пока такое.
> Работает верно, но вывод несколько загадочен.

Для начала буфер надо обнулить, иначе при печати будет мусор:
  char buf[20] = {0};

Не очень понятно, зачем писать
  char b = 's';
  printf("%c\n", b);
когда это то же самое, что
  printf("s\n");

И использовать цикл for короче, чем
  int i = 0;
  while (i < 20) {
    ...
    ++i;
  }

Ответить | Правка | Наверх | Cообщить модератору

6. "Printf цикл отступ"  +/
Сообщение от dcc0 (?), 13-Сен-16, 18:25 
>[оверквотинг удален]
>   char b = 's';
>   printf("%c\n", b);
> когда это то же самое, что
>   printf("s\n");
> И использовать цикл for короче, чем
>   int i = 0;
>   while (i < 20) {
>     ...
>     ++i;
>   }

Спасибо, я что-то не подумал про вложенный цикл.
Да char b = 's';  это так, не обращайте внимание.
Просто пытаюсь вникнуть в некоторые аспекты си.
В учебных целях... Спасибо еще раз...

Ответить | Правка | Наверх | Cообщить модератору

7. "Printf цикл отступ"  +/
Сообщение от f2404 (ok), 13-Сен-16, 18:28 
> Спасибо, я что-то не подумал про вложенный цикл.
> Да char b = 's';  это так, не обращайте внимание.
> Просто пытаюсь вникнуть в некоторые аспекты си.
> В учебных целях... Спасибо еще раз...

Пожалуйста.

Ответить | Правка | Наверх | Cообщить модератору

8. "Printf цикл отступ"  +/
Сообщение от dcc0 (?), 13-Сен-16, 18:31 
>> Спасибо, я что-то не подумал про вложенный цикл.
>> Да char b = 's';  это так, не обращайте внимание.
>> Просто пытаюсь вникнуть в некоторые аспекты си.
>> В учебных целях... Спасибо еще раз...
> Пожалуйста.

После php и bash си кажется очень строгим... но чувствую, что надо с некоторыми вещами разобраться.
Вот интересно, я правильно понимаю, что buf[32]={0} - означает, что каждое значение массива символов buf хранит 0

Ответить | Правка | Наверх | Cообщить модератору

9. "Printf цикл отступ"  +/
Сообщение от f2404email (ok), 13-Сен-16, 20:08 
> После php и bash си кажется очень строгим... но чувствую, что надо
> с некоторыми вещами разобраться.

Не кажется, так и есть :)

> Вот интересно, я правильно понимаю, что buf[32]={0} - означает, что каждое значение
> массива символов buf хранит 0

Да, такая запись инициализирует массив нулями.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру