snipt

Ctrl+h for KB shortcuts

C

Swap two var without temp var

1
2
3
4
5
6
7
8
#include <stdio.h>
int main(int argc, const char *argv[])
{
    int a=1,b=2;
	a ^= b ^= a ^= b;
	printf( "%d%d", a, b );
	return 0;
}
https://snipt.net/embed/0b615a104c1dd779b435516ecb21f8c9/
/raw/0b615a104c1dd779b435516ecb21f8c9/
0b615a104c1dd779b435516ecb21f8c9
c
C
8
2019-07-13T04:30:03
True
False
False
/api/public/snipt/43233/
swap-two-var-without-temp-var
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1">1</a> <a href="#L-2">2</a> <a href="#L-3">3</a> <a href="#L-4">4</a> <a href="#L-5">5</a> <a href="#L-6">6</a> <a href="#L-7">7</a> <a href="#L-8">8</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp"></span> </span><span id="L-2"><a name="L-2"></a><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span> </span><span id="L-3"><a name="L-3"></a><span class="p">{</span> </span><span id="L-4"><a name="L-4"></a> <span class="kt">int</span> <span class="n">a</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">b</span><span class="o">=</span><span class="mi">2</span><span class="p">;</span> </span><span id="L-5"><a name="L-5"></a> <span class="n">a</span> <span class="o">^=</span> <span class="n">b</span> <span class="o">^=</span> <span class="n">a</span> <span class="o">^=</span> <span class="n">b</span><span class="p">;</span> </span><span id="L-6"><a name="L-6"></a> <span class="n">printf</span><span class="p">(</span> <span class="s">&quot;%d%d&quot;</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="p">);</span> </span><span id="L-7"><a name="L-7"></a> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> </span><span id="L-8"><a name="L-8"></a><span class="p">}</span> </span></pre></div> </td></tr></table>
C, swap