<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Printf цикл отступ</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html</link>
    <description>В чистом Си как-то можно динамически изменять отступ в цикле при выводе на экран через printf?&lt;br&gt;Допустим:&lt;br&gt;int a = 1;&lt;br&gt;a++; &lt;br&gt;while (a &amp;lt; 10) &#123;&lt;br&gt;printf(&quot;d&quot;);&lt;br&gt;&#125;&lt;br&gt;Вместо 12 как-то можно подставить переменную а?&lt;br&gt;</description>

<item>
    <title>Printf цикл отступ (Led)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html#13</link>
    <pubDate>Thu, 15 Sep 2016 19:40:09 GMT</pubDate>
    <description>man 3 printf&lt;br&gt;</description>
</item>

<item>
    <title>Printf цикл отступ (dcc0)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html#12</link>
    <pubDate>Wed, 14 Sep 2016 17:30:49 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; &quot;Динамически&quot; ширину поля можно указывать с помощью подстановочного квалификатора *. В &lt;br&gt;&amp;gt;&amp;gt; этом случае фактическую ширину поля нужно передавать как один из соответствующих &lt;br&gt;&amp;gt;&amp;gt; аргументов.&lt;br&gt;&amp;gt;&amp;gt; Например: printf (&quot;&#037;*d&quot;, w, var); В результате значение переменноый var будет выведено &lt;br&gt;&amp;gt;&amp;gt; в поле шириной w &lt;br&gt;&amp;gt;&amp;gt; Между знаком &#037; и шириной поля так же можно указать символ-заполнитель для &lt;br&gt;&amp;gt;&amp;gt; поля.&lt;br&gt;&amp;gt;&amp;gt; Например, printf (&quot;&#037;#9d&quot;, 108) выдаст строку &quot;######108&quot; &lt;br&gt;&amp;gt; Класс! Спасибо ОГРОМНОЕ! Вы все верно поняли. Надо было мне просто точнее &lt;br&gt;&amp;gt; сформулировать ... именно подставить квалификатор! Попробую сегодня!&lt;br&gt;&lt;br&gt;именно вот так&lt;br&gt;&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;&lt;br&gt; &lt;br&gt; main () &#123;&lt;br&gt;&lt;br&gt;int i=0;&lt;br&gt;int w =1;&lt;br&gt;while(i !=5) &#123;&lt;br&gt;i++;&lt;br&gt;printf(&quot;&#037;*d&#092;n&quot;, i, w);&lt;br&gt;&#125;&lt;br&gt;&#125;&lt;br&gt;</description>
</item>

<item>
    <title>Printf цикл отступ (dcc0)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html#11</link>
    <pubDate>Wed, 14 Sep 2016 17:07:38 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;     9&#093;&quot; (ширина поля 5 символов, выравнивание по &lt;br&gt;&amp;gt; правой стороне) &lt;br&gt;&amp;gt; &quot;Динамически&quot; ширину поля можно указывать с помощью подстановочного квалификатора *. В &lt;br&gt;&amp;gt; этом случае фактическую ширину поля нужно передавать как один из соответствующих &lt;br&gt;&amp;gt; аргументов.&lt;br&gt;&amp;gt; Например: printf (&quot;&#037;*d&quot;, w, var); В результате значение переменноый var будет выведено &lt;br&gt;&amp;gt; в поле шириной w &lt;br&gt;&amp;gt; Между знаком &#037; и шириной поля так же можно указать символ-заполнитель для &lt;br&gt;&amp;gt; поля.&lt;br&gt;&amp;gt; Например, printf (&quot;&#037;#9d&quot;, 108) выдаст строку &quot;######108&quot; &lt;br&gt;&lt;br&gt;Класс! Спасибо ОГРОМНОЕ! Вы все верно поняли. Надо было мне просто точнее сформулировать ... именно подставить квалификатор! Попробую сегодня! &lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Printf цикл отступ (Asgard)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html#10</link>
    <pubDate>Wed, 14 Sep 2016 16:32:23 GMT</pubDate>
    <description>&amp;gt; В чистом Си как-то можно динамически изменять отступ в цикле при выводе &lt;br&gt;&amp;gt; на экран через printf?&lt;br&gt;&amp;gt; Допустим: &lt;br&gt;&amp;gt; int a = 1; &lt;br&gt;&amp;gt; a++; &lt;br&gt;&amp;gt; while (a &amp;lt; 10) &#123; &lt;br&gt;&amp;gt; printf(&quot;d&quot;); &lt;br&gt;&amp;gt; &#125; &lt;br&gt;&amp;gt; Вместо 12 как-то можно подставить переменную а?&lt;br&gt;&lt;br&gt;Если я Вас правильно понял, то вы спрашиваете про ширину поля, в котором размещается выводимый аргумент. Ширина эта задаётся числом, располагаемым между знаком &#037; и квалификатором аргумента. Если она не задана, то автоматически задастся поле, достаточное для вывода всех символов аргумента. Если недостаточна - будет так же расширена.&lt;br&gt;Например. printf (&quot;&#091;&#037;d, &#037;d&#093;&quot;, 172, 9); выведет строку &quot;&#091;172, 9&#093;&quot;&lt;br&gt;A вот printf (&quot;&#091;&#093;, &#093;&#093;&quot;, 172, 9); -- строку &quot;&#091;  172,     9&#093;&quot; (ширина поля 5 символов, выравнивание по правой стороне)&lt;br&gt;&quot;Динамически&quot; ширину поля можно указывать с помощью подстановочного квалификатора *. В этом случае фактическую ширину поля нужно передавать как один из соответствующих аргументов.&lt;br&gt;Например: printf (&quot;&#037;*d&quot;, w, var); В результате значение переменноый var будет выведено </description>
</item>

<item>
    <title>Printf цикл отступ (f2404)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html#9</link>
    <pubDate>Tue, 13 Sep 2016 17:08:54 GMT</pubDate>
    <description>&amp;gt; После php и bash си кажется очень строгим... но чувствую, что надо &lt;br&gt;&amp;gt; с некоторыми вещами разобраться.&lt;br&gt;&lt;br&gt;Не кажется, так и есть :)&lt;br&gt;&lt;br&gt;&amp;gt; Вот интересно, я правильно понимаю, что buf&#091;32&#093;=&#123;0&#125; - означает, что каждое значение &lt;br&gt;&amp;gt; массива символов buf хранит 0 &lt;br&gt;&lt;br&gt;Да, такая запись инициализирует массив нулями.&lt;br&gt;</description>
</item>

<item>
    <title>Printf цикл отступ (dcc0)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html#8</link>
    <pubDate>Tue, 13 Sep 2016 15:31:43 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Спасибо, я что-то не подумал про вложенный цикл.&lt;br&gt;&amp;gt;&amp;gt; Да char b = &apos;s&apos;;  это так, не обращайте внимание.&lt;br&gt;&amp;gt;&amp;gt; Просто пытаюсь вникнуть в некоторые аспекты си.&lt;br&gt;&amp;gt;&amp;gt; В учебных целях... Спасибо еще раз...&lt;br&gt;&amp;gt; Пожалуйста.&lt;br&gt;&lt;br&gt;После php и bash си кажется очень строгим... но чувствую, что надо с некоторыми вещами разобраться.&lt;br&gt;Вот интересно, я правильно понимаю, что buf&#091;32&#093;=&#123;0&#125; - означает, что каждое значение массива символов buf хранит 0&lt;br&gt;</description>
</item>

<item>
    <title>Printf цикл отступ (f2404)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html#7</link>
    <pubDate>Tue, 13 Sep 2016 15:28:59 GMT</pubDate>
    <description>&amp;gt; Спасибо, я что-то не подумал про вложенный цикл.&lt;br&gt;&amp;gt; Да char b = &apos;s&apos;;  это так, не обращайте внимание.&lt;br&gt;&amp;gt; Просто пытаюсь вникнуть в некоторые аспекты си.&lt;br&gt;&amp;gt; В учебных целях... Спасибо еще раз...&lt;br&gt;&lt;br&gt;Пожалуйста.&lt;br&gt;</description>
</item>

<item>
    <title>Printf цикл отступ (dcc0)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html#6</link>
    <pubDate>Tue, 13 Sep 2016 15:25:36 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;   char b = &apos;s&apos;; &lt;br&gt;&amp;gt;   printf(&quot;&#037;c&#092;n&quot;, b); &lt;br&gt;&amp;gt; когда это то же самое, что &lt;br&gt;&amp;gt;   printf(&quot;s&#092;n&quot;); &lt;br&gt;&amp;gt; И использовать цикл for короче, чем &lt;br&gt;&amp;gt;   int i = 0; &lt;br&gt;&amp;gt;   while (i &amp;lt; 20) &#123; &lt;br&gt;&amp;gt;     ...&lt;br&gt;&amp;gt;     ++i; &lt;br&gt;&amp;gt;   &#125; &lt;br&gt;&lt;br&gt;Спасибо, я что-то не подумал про вложенный цикл. &lt;br&gt;Да char b = &apos;s&apos;;  это так, не обращайте внимание. &lt;br&gt;Просто пытаюсь вникнуть в некоторые аспекты си. &lt;br&gt;В учебных целях... Спасибо еще раз...&lt;br&gt;</description>
</item>

<item>
    <title>Printf цикл отступ (f2404)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/10117.html#5</link>
    <pubDate>Tue, 13 Sep 2016 15:14:28 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;  char buf&#091;20&#093;; &lt;br&gt;&amp;gt;  while (i &amp;lt; 20) &#123; &lt;br&gt;&amp;gt; buf&#091;i&#093;=32; &lt;br&gt;&amp;gt;   printf(&quot;&#037;s&quot;, buf); &lt;br&gt;&amp;gt;      printf(&quot;&#037;c&#092;n&quot;, b); &lt;br&gt;&amp;gt;      ++i; &lt;br&gt;&amp;gt;  &#125; &lt;br&gt;&amp;gt; &#125; &lt;br&gt;&amp;gt; Собрал пока такое.&lt;br&gt;&amp;gt; Работает верно, но вывод несколько загадочен.&lt;br&gt;&lt;br&gt;Для начала буфер надо обнулить, иначе при печати будет мусор:&lt;br&gt;  char buf&#091;20&#093; = &#123;0&#125;;&lt;br&gt;&lt;br&gt;Не очень понятно, зачем писать&lt;br&gt;  char b = &apos;s&apos;;&lt;br&gt;  printf(&quot;&#037;c&#092;n&quot;, b);&lt;br&gt;когда это то же самое, что&lt;br&gt;  printf(&quot;s&#092;n&quot;);&lt;br&gt;&lt;br&gt;И использовать цикл for короче, чем&lt;br&gt;  int i = 0; &lt;br&gt;  while (i &amp;lt; 20) &#123; &lt;br&gt;    ...&lt;br&gt;    ++i;&lt;br&gt;  &#125;&lt;br&gt;</description>
</item>

</channel>
</rss>
