<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>C语言 on Rain&#39;s Blog</title>
    <link>https://example.org/tags/c%E8%AF%AD%E8%A8%80/</link>
    <description>Recent content from Rain&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en</language>
    
    <managingEditor>2385689419@qq.com (Rain)</managingEditor>
    <webMaster>2385689419@qq.com (Rain)</webMaster>
    
    <copyright>All articles on this blog are licensed under the BY-NC-SA license agreement unless otherwise stated. Please indicate the source when reprinting!</copyright>
    
    <lastBuildDate>Fri, 11 Sep 2026 20:45:24 +0800</lastBuildDate>
    
    
    <atom:link href="https://example.org/tags/c%E8%AF%AD%E8%A8%80/index.xml" rel="self" type="application/rss&#43;xml" />
    

    
    

    <item>
      <title>scanf 与 printf 学习笔记</title>
      <link>https://example.org/post/scanf-printf-cin-cout/</link>
      <pubDate>Fri, 11 Sep 2026 20:45:24 &#43;0800</pubDate>
      <author>2385689419@qq.com (Rain)</author>
      <guid>https://example.org/post/scanf-printf-cin-cout/</guid>
      <description>
        <![CDATA[<h1>scanf 与 printf 学习笔记</h1><p>Author: Rain(2385689419@qq.com)</p>
        
          <h1 id="scanf-与-printf-学习笔记">
<a class="header-anchor" href="#scanf-%e4%b8%8e-printf-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0"></a>
scanf 与 printf 学习笔记
</h1><p>在 C 语言中，<code>scanf</code> 和 <code>printf</code> 是最常见的一组输入输出函数：</p>
<ul>
<li><code>scanf</code>：按照格式从标准输入读取数据</li>
<li><code>printf</code>：按照格式向标准输出写入数据</li>
</ul>
<p>它们都位于 <code>&lt;stdio.h&gt;</code> 中。C++ 也可以继续使用这两个函数，同时还提供了面向流的 <code>cin</code> 和 <code>cout</code>。这篇文章先学习 <code>scanf</code>、<code>printf</code> 的基本用法，再把它们与 <code>cin</code>、<code>cout</code> 放在一起比较。</p>
<hr>
<h2 id="一最简单的例子">
<a class="header-anchor" href="#%e4%b8%80%e6%9c%80%e7%ae%80%e5%8d%95%e7%9a%84%e4%be%8b%e5%ad%90"></a>
一、最简单的例子
</h2><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-c" data-lang="c"><span class="line"><span class="cl"><span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp">
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="kt">int</span> <span class="n">age</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="nf">printf</span><span class="p">(</span><span class="s">&#34;请输入年龄：&#34;</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">    <span class="nf">scanf</span><span class="p">(</span><span class="s">&#34;%d&#34;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">age</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">    <span class="nf">printf</span><span class="p">(</span><span class="s">&#34;你的年龄是 %d</span><span class="se">\n</span><span class="s">&#34;</span><span class="p">,</span> <span class="n">age</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div><p>运行时，程序会等待用户输入一个整数。这里有两个关键点：</p>
<ol>
<li><code>printf</code> 的格式字符串中，<code>%d</code> 表示一个 <code>int</code> 类型的整数。</li>
<li><code>scanf</code> 需要把数据写入变量，所以要传入变量的地址 <code>&amp;age</code>。</li>
</ol>
<p>可以把 <code>&amp;age</code> 理解为“告诉 <code>scanf</code> 应该把读到的结果放在哪里”。</p>
<hr>
<h2 id="二printf格式化输出">
<a class="header-anchor" href="#%e4%ba%8cprintf%e6%a0%bc%e5%bc%8f%e5%8c%96%e8%be%93%e5%87%ba"></a>
二、printf：格式化输出
</h2><h3 id="1-常用格式说明符">
<a class="header-anchor" href="#1-%e5%b8%b8%e7%94%a8%e6%a0%bc%e5%bc%8f%e8%af%b4%e6%98%8e%e7%ac%a6"></a>
1. 常用格式说明符
</h3><table>
  <thead>
      <tr>
          <th>格式</th>
          <th>对应类型</th>
          <th>示例</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>%d</code></td>
          <td><code>int</code></td>
          <td><code>printf(&quot;%d&quot;, 42);</code></td>
      </tr>
      <tr>
          <td><code>%u</code></td>
          <td><code>unsigned int</code></td>
          <td><code>printf(&quot;%u&quot;, 42u);</code></td>
      </tr>
      <tr>
          <td><code>%ld</code></td>
          <td><code>long</code></td>
          <td><code>printf(&quot;%ld&quot;, number);</code></td>
      </tr>
      <tr>
          <td><code>%f</code></td>
          <td><code>double</code> 输出</td>
          <td><code>printf(&quot;%f&quot;, 3.14);</code></td>
      </tr>
      <tr>
          <td><code>%c</code></td>
          <td><code>char</code></td>
          <td><code>printf(&quot;%c&quot;, 'A');</code></td>
      </tr>
      <tr>
          <td><code>%s</code></td>
          <td>字符串</td>
          <td><code>printf(&quot;%s&quot;, &quot;hello&quot;);</code></td>
      </tr>
      <tr>
          <td><code>%p</code></td>
          <td>指针地址</td>
          <td><code>printf(&quot;%p&quot;, (void *)ptr);</code></td>
      </tr>
  </tbody>
</table>
<p>示例：</p>
        
        <hr><p>Published on 2026-09-11 at <a href='https://example.org/'>Rain's Blog</a>, last modified on 2026-09-11</p>]]>
      </description>
      
        <category>cpp</category><category>basic note</category>
      
    </item>
    
  </channel>
</rss>
