<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[frage zu codeschnipsel]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich verstehe folgenden code nicht</p>
<pre><code class="language-cpp">int k = 0;
	k=(++k&lt;3?k:0);

	cout &lt;&lt;k;
</code></pre>
<p>die ausgabe ist immer 1, meiner meinung nach sollte es 0 sein.</p>
<p>beim ersten durchlauf<br />
1&lt;3 true k = 1<br />
2&lt;3 true k = 2<br />
3&lt;3 false k=0;</p>
<p>was übersehe ich ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/292923/frage-zu-codeschnipsel</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 15:41:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/292923.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Sep 2011 20:20:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 20:20:50 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich verstehe folgenden code nicht</p>
<pre><code class="language-cpp">int k = 0;
	k=(++k&lt;3?k:0);

	cout &lt;&lt;k;
</code></pre>
<p>die ausgabe ist immer 1, meiner meinung nach sollte es 0 sein.</p>
<p>beim ersten durchlauf<br />
1&lt;3 true k = 1<br />
2&lt;3 true k = 2<br />
3&lt;3 false k=0;</p>
<p>was übersehe ich ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121805</guid><dc:creator><![CDATA[meeydoo]]></dc:creator><pubDate>Tue, 20 Sep 2011 20:20:50 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 20:28:50 GMT]]></title><description><![CDATA[<p>Ich weiß nicht, was du übersiehst. Aber ich sehe z.B. keine Schleife, die mehr als einen Durchlauf überhaupt ermöglichen würde.</p>
<p>Das ganze wird SO, wie es da steht, sequentiell abgearbeitet:</p>
<p>k = 0 =&gt; k = 0<br />
++k =&gt; k = 1<br />
k &lt; 3 =&gt; 1 &lt; 3 =&gt; true<br />
k = k =&gt; k = 1</p>
<p>Ausgabe 1.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121807</guid><dc:creator><![CDATA[Knecht Purpecht]]></dc:creator><pubDate>Tue, 20 Sep 2011 20:28:50 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 20:37:28 GMT]]></title><description><![CDATA[<p>meeydoo schrieb:</p>
<blockquote>
<p>die ausgabe ist immer 1, meiner meinung nach sollte es 0 sein.</p>
</blockquote>
<p>Dein Irrtum.</p>
<p>meeydoo schrieb:</p>
<blockquote>
<p>beim ersten durchlauf</p>
</blockquote>
<p>Wo siehst Du denn bei deinem Codefetzen mehr als einen Durchlauf?</p>
<p>meeydoo schrieb:</p>
<blockquote>
<p>was übersehe ich ?</p>
</blockquote>
<pre><code class="language-cpp">int k = 0;
k = ( ++k &lt; 3 ? k : 0 );
     // |
    //  k == 1 nach Preinkrement und vor &lt; 3
   //   1 &lt; 3 == true
  //    =&gt; k = k | k = 1

cout &lt;&lt; k;  // 1
</code></pre>
<p>// Edit: zu langsam...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121808</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Tue, 20 Sep 2011 20:37:28 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 20:31:28 GMT]]></title><description><![CDATA[<p>ups das ist ja garkeine schleife <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f636.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_without_mouth"
      title=":X"
      alt="😶"
    /></p>
<p>ja klar danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121809</guid><dc:creator><![CDATA[meeydoo]]></dc:creator><pubDate>Tue, 20 Sep 2011 20:31:28 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 20:36:54 GMT]]></title><description><![CDATA[<p>meeydoo schrieb:</p>
<blockquote>
<p>ups das ist ja garkeine schleife <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f636.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_without_mouth"
      title=":X"
      alt="😶"
    /></p>
</blockquote>
<p>Und jetzt gehe hin und schreibe 100 mal &quot;Ich werde meinen Code in Zukunft sorgfältig einzurücken!&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121815</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Tue, 20 Sep 2011 20:36:54 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 21:15:23 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>meeydoo schrieb:</p>
<blockquote>
<p>ups das ist ja garkeine schleife <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f636.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_without_mouth"
      title=":X"
      alt="😶"
    /></p>
</blockquote>
<p>Und jetzt gehe hin und schreibe 100 mal &quot;Ich werde meinen Code in Zukunft sorgfältig einzurücken!&quot;.</p>
</blockquote>
<p>Hmm, das würde ich so lösen !</p>
<pre><code class="language-cpp">for ( int i = 0;
i &lt; 100 ; i ++ ) {

std::cout &lt;&lt; Ich werde meinen Code in Zukunft sorgfältig einzurücken&quot;;
         std::cout &lt;&lt; std::endl;
   std::cout &lt;&lt; std::endl;

 ´                           }
</code></pre>
<p>richtig so ? ;P</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121824</guid><dc:creator><![CDATA[blubii]]></dc:creator><pubDate>Tue, 20 Sep 2011 21:15:23 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 21:16:26 GMT]]></title><description><![CDATA[<p>Och nö, das war nur 99 mal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f622.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--crying_face"
      title=";("
      alt="😢"
    /> Ganze mühe umsonst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121825</guid><dc:creator><![CDATA[blubii]]></dc:creator><pubDate>Tue, 20 Sep 2011 21:16:26 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 21:18:54 GMT]]></title><description><![CDATA[<p>blubii schrieb:</p>
<blockquote>
<p>Och nö, das war nur 99 mal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f622.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--crying_face"
      title=";("
      alt="😢"
    /> Ganze mühe umsonst.</p>
</blockquote>
<p>Zähl's noch einmal, Sam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121826</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 20 Sep 2011 21:18:54 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 21:22:35 GMT]]></title><description><![CDATA[<p>ist wirklich garantiert, dass die Branches immer erst nach der Bedingung evaluiert werdne dürfen?<br />
normalerweise ist ja sowas wie &quot;k++ - k&quot; UB. Im ersten Moment hätte ich das auch hier erwartet, weil es ein einziger Ausdruck ist.</p>
<p>ich kann mir nicht vorstellen, dass das hier UB ist:</p>
<pre><code class="language-cpp">int myif(bool cond, int a, int b){
    return cond?a:b
}

k=myif(++k &lt; 3, k, 0);
</code></pre>
<p>und der Ausdruck vom Threadstarter nicht. Kann mich da jemand widerlegen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121827</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Tue, 20 Sep 2011 21:22:35 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu codeschnipsel on Tue, 20 Sep 2011 21:35:23 GMT]]></title><description><![CDATA[<p>otze schrieb:</p>
<blockquote>
<p>ist wirklich garantiert, dass die Branches immer erst nach der Bedingung evaluiert werdne dürfen?<br />
normalerweise ist ja sowas wie &quot;k++ - k&quot; UB. Im ersten Moment hätte ich das auch hier erwartet, weil es ein einziger Ausdruck ist.</p>
</blockquote>
<p>Es gibt im C- und C++-Standard definierte Sequenzpunkte, bei denen sichergestellt ist, welche Werte definitiv vorher berechnet wurden. Der ?:-Operator gehört dazu, die Kommas zwischen den einzelnen Funktionsparametern nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121832</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 20 Sep 2011 21:35:23 GMT</pubDate></item></channel></rss>