`
cjc
  • 浏览: 680962 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

我的嵌入式学习笔记(2)--scanf使用常见问题及解决方法

阅读更多
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

作者:曹忠明,华清远见嵌入式学院讲师。

在学习C语言的时候,printf()是我们学到的第一个函数,相信“hello world”这个例子大家都不会陌生吧,接着就是scanf()这个函数了,这个函数的功能是格式输入,它的函数原型是:

int scanf(const char *format,…);

这个函数的基本用法这里就不说了,这里介绍一些这个函数使用中常见的问题及解决方法:

第一,连续输入两个或多个字符的时候,第二次输入直接跳过了如:

int main()
{
char a,b;
scanf(“%c”,&a);
scanf(“%c”,&b);
return 0;
}

输入 a回车 然后就退出了。

这个问题有很多说法有说是缓冲区没有清除,有说stdin这个流的问题,这里我们不去追究,这里介绍几个解决这种问题的方法:

int main()
{
char a,b;
scanf(“\n%c”,&a);
scanf(“\n%c”,&b);或 scanf(“ %c”,&b);%c前有空格
return 0;
}

这次再编译一下就没有问题了。

第二,使用scanf()函数输入一句话的时候,如:

int main()
{
char string[50] ;
scanf(“%s”,string);
printf(“%s\n”,string);
return 0;
}

输入:hello world!

结果:hello

显然这个结果没有达到我们的要求。

解决方法:

int main()
{
char string[50] ;
scanf(“%[^\n]”,string);
printf(“%s\n”,string);
return 0;
}

重新编译一下,没有问题了吧!

这里如果要是连续输入多个语句的话也会出现连续输入字符的那种问题,当然解决方法也相同了。

这里是最常见的几个问题,可能还有其他的解决方法,希望和大家相互交流,能力有限有问题希望大家多多指教。

分享到:
评论

相关推荐

    嵌入式系统/ARM技术中的嵌入式学习笔记(2)--scanf使用常见问题及解决方法

    这篇由曹忠明,华清远见嵌入式学院讲师撰写的笔记主要讨论了`scanf()` 在嵌入式开发环境下的使用中遇到的常见问题及其解决方案。 首先,当需要连续输入两个或多个字符时,可能会遇到第二次输入被跳过的问题。例如,...

    linux嵌入式学习笔记更新中

    Linux 嵌入式学习笔记主要涵盖了Linux操作系统的基础知识以及C语言编程的相关内容。下面将对这些知识点进行详细的解析。 1. Linux基础操作: - 登录:在Linux系统中,用户通过`用户名:密码`的方式登录系统。 - ...

    达内嵌入式 C_C++ 笔记

    在这份笔记中,作者分享了他参加达内嵌入式培训课程时关于C和C++语言的笔记内容,这些内容包含了C和C++编程的基础知识点。以下是从笔记内容中提炼出的知识点,涵盖了内存管理、字符串操作、预处理指令、extern关键字...

    c++学习笔记精华版

    ### C++ 学习笔记精华版 #### 一、C++ 语言概述 **1、历史背景** - **C++ 的江湖地位** - Java、C、C++、Python、C# 是当前主流的编程语言之一,而 C++ 在这些语言中以其高效性和灵活性著称。 - **C++ 之父 ...

    嵌入式学习(C和指针笔记)

    《C 和指针》这本书是学习C语言和深入理解指针的重要参考资料,尤其对于嵌入式领域的学习者来说,它是不可或缺的基础。以下是对书中部分重要知识点的详细解释: 1. **常量指针与指针常量**: - `const`关键字可以...

    C语言学习笔记 C语言学习笔记

    本压缩包包含的“C语言学习笔记”是一份详尽的C语言学习资料,旨在帮助读者深入理解和掌握C语言的基本概念、语法结构以及实际应用技巧。 一、C语言基础 C语言的基础包括变量、数据类型、运算符、流程控制等。变量...

    C语言基础学习笔记

    C语言是一种广泛使用的编程语言,尤其适合底层系统开发和嵌入式系统。本文将深入探讨C语言的基础知识,包括数据类型和表达式、变量与常量、输出输入以及运算符号。 首先,我们要理解数据类型和表达式。在C语言中,...

    c语言学习笔记,好东西

    本压缩包包含了一份精心整理的C语言学习笔记,旨在帮助读者深入理解和掌握C语言的核心概念与技术。 笔记首先从基础语法开始,包括变量、数据类型、运算符以及表达式。C语言中的数据类型有基本类型如int、char、...

    linux c书本学习以及自己的学习笔记

    环境C程序设计"的书籍资源,由徐诚编著,并且包含了作者的学习笔记,特别标注了重点内容和需要关注的部分,特别适合C语言的初学者作为入门材料。 C语言是一种强大的、低级的编程语言,广泛用于操作系统开发、嵌入式...

    C语言程序设计(谭浩强)-学习笔记.doc

    《C语言程序设计》的学习笔记主要涵盖了C语言的基础知识、编程技巧以及算法的理解。下面将对这些关键知识点进行详细解析。 ### 第一章 C语言概述 C语言是一种强大的、低级的编程语言,广泛用于系统开发、软件工程...

    C语言学习笔记

    标题与描述均提到了"C语言学习笔记",这意味着文档聚焦于C语言的基础知识与实践技巧。C语言是一种广泛使用的高级编程语言,以其高效性、灵活性和底层硬件控制能力著称,是许多操作系统、嵌入式系统及游戏开发的首选...

    C语言学习笔记基础完整

    本学习笔记旨在全面覆盖C语言的基础部分,帮助初学者掌握其核心概念和语法。 一、C语言概述 C语言由贝尔实验室的Dennis Ritchie在1972年创造,它的特点是运行效率高,程序控制性强,语法简洁。C语言是许多现代编程...

    c语言学习笔记(不完全)

    【C语言学习笔记概述】 C语言是一种强大的编程语言,由Dennis Ritchie和Ken Thompson在1972年为了编写UNIX操作系统而设计。它是B语言的进化版本,而B语言又源自BCPL。C语言以其高效、灵活性和对底层硬件的直接访问...

    C语言学习笔记——基础知识篇

    本资源包"**C语言学习笔记——基础知识篇**"是为C语言初学者或需要复习C语言概念的人准备的宝贵资料。 首先,我们要了解C语言的基础知识。C语言的语法结构基于ALGOL60和BCPL,由Dennis Ritchie在贝尔实验室设计和...

    C学习笔记.txt

    从给定的文件信息来看,这是一份关于C语言学习的笔记,涵盖了C语言的基础语法、数据类型、运算符、输入输出函数以及其他一些基础概念。下面将对这些知识点进行详细的阐述: ### C语言简介 C语言是一种通用的、面向...

    Linux快捷键以及使用,C语言学习笔记

    【Linux快捷键及基本操作】 在Linux操作系统中,掌握快捷键和基本命令是提高效率的关键。Ctrl+Alt+T快捷键用于打开终端,Ctrl+d或`exit`命令用于关闭终端。在终端中,用户可以通过`whoami`查看当前用户名,`...

    c语言从入门到进阶笔记

    - **scanf的使用**:`&`符号用于取变量的地址,`scanf_s`是VS2019的安全版本,但为了跨平台兼容,通常使用`scanf`。 - **字符串与字符数组**:C语言中的字符串是以`'\0'`结尾的字符数组,`strlen`函数用于计算字符...

    《C语言程序设计(第五版)谭浩强》学习笔记.zip

    【C语言程序设计(第五版)谭浩强】学习笔记 C语言是一种广泛应用于系统编程、软件开发、嵌入式系统、游戏编程等领域的高级编程语言。由Dennis Ritchie在1972年开发,它以其简洁、高效和强大的功能而闻名。谭浩强...

    C语言程序设计学习笔记.pdf

    本学习笔记将深入探讨C语言的基础概念和核心特性,帮助初学者逐步掌握这门强大的编程工具。 在第一章“C语言概述”中,我们将了解到C程序的基本结构和编写流程。C程序通常由预处理、编译、链接三个阶段构成,其中...

    C语言基础知识学习笔记

    本学习笔记旨在深入解析C语言的基础知识,帮助初学者掌握这一强大工具的核心概念。 1. **C语言简介** C语言由贝尔实验室的Dennis Ritchie在20世纪70年代开发,因其高效性和灵活性而迅速流行。它是一种编译型语言,...

Global site tag (gtag.js) - Google Analytics