<?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[C90: implizite Typwandlung double-&gt;int bei Zuweisung von int-Literalen?]]></title><description><![CDATA[<p>Hi(gh)!</p>
<p>Gerade eben fällt mir mal wieder auf, dass ERLENKÖTTER in &quot;C - Programmmieren von Anfang an&quot; bei der Initialisierung von double- (oder auch float-) Variablen Ganzzahlen regelmäßig mit Nachkomma-Null schreibt, also etwa</p>
<pre><code class="language-cpp">double wert = 1.0;
</code></pre>
<p>Natürlich habe ich das Beispielprogramm erst mal ohne und dann mit Nachkomma-Null kompiliert und gestartet, das Ergebnis war auch mit -std=c90 identisch... wann besteht denn wirklich das Risiko einer ungewollten Typumwandlung von Fließkomma nach Integer, wenn man das Literal als Ganzzahl schreibt? Ist das womöglich plattformabhängig (und ich als Linuxer fein raus)?</p>
<p>Und noch was: was bringt es eigentlich, in Funktionen den Rückgabewert nach return in Klammern zu schreiben?</p>
<p>Bis bald im Khyberspace!</p>
<p>Yadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/355369/c90-implizite-typwandlung-double-int-bei-zuweisung-von-int-literalen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 15:23:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/355369.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Oct 2025 03:32:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C90: implizite Typwandlung double-&gt;int bei Zuweisung von int-Literalen? on Fri, 03 Oct 2025 03:32:23 GMT]]></title><description><![CDATA[<p>Hi(gh)!</p>
<p>Gerade eben fällt mir mal wieder auf, dass ERLENKÖTTER in &quot;C - Programmmieren von Anfang an&quot; bei der Initialisierung von double- (oder auch float-) Variablen Ganzzahlen regelmäßig mit Nachkomma-Null schreibt, also etwa</p>
<pre><code class="language-cpp">double wert = 1.0;
</code></pre>
<p>Natürlich habe ich das Beispielprogramm erst mal ohne und dann mit Nachkomma-Null kompiliert und gestartet, das Ergebnis war auch mit -std=c90 identisch... wann besteht denn wirklich das Risiko einer ungewollten Typumwandlung von Fließkomma nach Integer, wenn man das Literal als Ganzzahl schreibt? Ist das womöglich plattformabhängig (und ich als Linuxer fein raus)?</p>
<p>Und noch was: was bringt es eigentlich, in Funktionen den Rückgabewert nach return in Klammern zu schreiben?</p>
<p>Bis bald im Khyberspace!</p>
<p>Yadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2624250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2624250</guid><dc:creator><![CDATA[Yadgar]]></dc:creator><pubDate>Fri, 03 Oct 2025 03:32:23 GMT</pubDate></item><item><title><![CDATA[Reply to C90: implizite Typwandlung double-&gt;int bei Zuweisung von int-Literalen? on Fri, 03 Oct 2025 10:41:11 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/28974">@Yadgar</a> sagte in <a href="/forum/post/2624250">C90: implizite Typwandlung double-&gt;int bei Zuweisung von int-Literalen?</a>:</p>
<blockquote>
<p>Und noch was: was bringt es eigentlich, in Funktionen den Rückgabewert nach return in Klammern zu schreiben?</p>
</blockquote>
<p>Nichts, da es kein Funktionsaufruf ist. Man sollte es daher einfach weglassen. Was das Thema Floatingpoint Literale betrifft. Das wird dann ein Thema, wenn Du z.B.</p>
<pre><code class="language-c">#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;

int main() {
    double r1 = 1.0/3.0;
    double r2 = 1/3;

    printf(&quot;%f\n&quot;, r1);
    printf(&quot;%f\n&quot;, r2);

    return EXIT_SUCCESS;
}
</code></pre>
<p>schreibst. Für <code>r2</code> wird nämlich eine Ganzzahldivision durchgeführt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2624251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2624251</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Fri, 03 Oct 2025 10:41:11 GMT</pubDate></item><item><title><![CDATA[Reply to C90: implizite Typwandlung double-&gt;int bei Zuweisung von int-Literalen? on Tue, 14 Jul 2026 11:48:10 GMT]]></title><description><![CDATA[<p>Das Risiko entsteht vor allem dort, wo der Kontext den Typ schon vorgibt, etwa bei Zuweisungen oder ungewollter Ganzzahldivision. 1/2 wird auch unter Linux nicht plötzlich zu 0.5. Manchmal braucht man eben einen klaren Rahmen, genau wie ich nachts meine Haare in einer <a href="http://seidenhaube.com/" rel="nofollow">schützenden Schlafhaube aus Seide</a> bändige, um Frizz zu vermeiden. Ordnung ist in beiden Welten wichtig, sei es beim Code oder bei der Haarpflege.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2624972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2624972</guid><dc:creator><![CDATA[PaulTannenberg]]></dc:creator><pubDate>Tue, 14 Jul 2026 11:48:10 GMT</pubDate></item></channel></rss>