C语言,关于scanf和printf格式问题

代码图
警告图
运行结果

如果把代码中的long double 替换成double且%Lf替换成%f运行结果是这样的
修改后运行结果

查过资料%Lf应该是合法的,但是总是出现警告。%lld也会出现类似警告。实在不知道为什么?

c
0

4个回答

lf的l是小写的。

0

在使用scanf和printf函数时要加上#include 。其中scanf()是格式输入函数,printf()函数是格式化输出函数。

0

在原始的C标准中是没有这个类型的,C99中才添加了该类型。而在C99及后续的规范中,对于该类型规定的也并不详细,只是要求long double类型在精度上需要不少于double的精度。于是就出现了有的编译器不支持long double, 而支持的编译器在实现上也有所区别,目前常见的long double有占用8字节,10字节,12字节和16字节四种,但输出格式都是相同的%lf。 如果想知道使用的编译器是如何实现的,可以用printf("%d", sizeof(long double));输出long double占用的空间值。
应该是编译器的支持的问题,你这个long double估计和double是一样的

0

有可能是编译器的问题

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C语言printf()和scanf()函数
*表示跳过,[^,]表示逗号之前的任何内容,合起来就是逗号之前的内容都不要%[^,]类似
printf和scanf的*修饰符
printf()函数      如果有时候不想事先指定字段的宽度,而是希望由程序来指定该值,那么可以在字段宽度部分使用*代替数字来实现。但是必须使用一个参数来告诉函数字段宽度应该是声明。      也就是说,如果转换说明符是%*d,那么参数列表中一个包括一个*的值和一个d的值。      该技术也可以和浮点值一起使用来指定精度和字段宽度。      例子如下: #include 
c语言输入输出函数printf与scanf的用法格式
c语言输入输出函数printf与scanf的用法格式,格式化规则例如:%5.4f等类似问题的说明    Turbo C2.0 标准库提供了两个控制台格式化输入、输出函数printf( ) 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。     printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备 (键盘)上读数据。
C语言中scanf()、printf()、putchar()、getchar()等使用的区别
C语言中scanf()、printf()、putchar()、getchar()等使用的区别:scanf()函数和putchar()函数有所不同,printf()函数和getchar()函数有所不同。putchar()只是从输入缓冲区输入一个字符(或者在ASCII编码范围内的一个数值)。同样getchar()也只是获取一个字符。putchar()函数没有参数,getchar()函数有参数。、而sc...
【C语言】printf函数和scanf函数典型例子
#include void main() { int i; char c; for(i=0; i<5; ++i) { scanf("%d",&c); printf("%d ",i); } printf("\n"); }        表面上,这个程序从标准输入设备读入5个数,在标准输出设备上写5个数:0    1    2    3    4 。        实际上,
scanf和printf格式问题
一.scanf函数 1.该函数可以获取任意数据类型的输入,但是必须指定输入格式: %c 读入一个字符 %s 读入一个字符串 %d 读入一个十进制数 %[^\n] 读入一组字符串 %f 读入一个单精度浮点数 %lf 读入一个双精度浮点数 %0 读入一个八进制数 %x 读入一个十六进制数 %
C语言中的scanf()和printf()函数
C语言中的输入、输出函数,在C++中一直使用cin、cout,对scanf和printf的使用不太熟悉,现做以下整理。 scanf()函数详解 函数名:scanf 功能:执行格式化输入 用法:int scanf(char *format,[argument,…]); scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘)读取输入的信息。可以读入任何固有类型的数据并自动把数值...
scanf 和 printf的一般用法
一、printf函数调用的一般形式       printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为: printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。 格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符
(超全,超经典)scanf()函数与printf()中的格式说明符
1.scanf()与printf()中格式说明符几乎相同的一部分 %d 用来输入和输出int %ld 用来输入和输出long int %lld 用来输入和输出long long int %hd 用来输入和输出short %i 用来输入和输出有符号十进制整数 %u 用来输入和输出无符号十进制整数 %lu 用来输入和输出无符号十进制长...
C中printf与scanf的使用方法
Printf和Scanf函数的使用方法 一 printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出  信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:         printf("", );       其中格式化字符串包括两部分内容: 一部分是正常字符,   这些字符将按原  样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个
C语言中的printf与scanf函数
转载李明杰老师的博客:地址: 本文目录 一、printf函数二、scanf函数 说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 回到顶部 一、printf函数 这是在stdio.h中声明的一个函数,因此使用前必须加入#include ,使用它可以向标准输出设
C语言中printf(),scanf()函数的转换说明表(%百分号加字母),修饰符表和标记表
注:此篇文章的内容参照《C Primer Plus》一书的第四章。1. printf()函数的转换说明及打印的输出结果表2. printf()语句的构成示意图3. printf()的修饰符列表4. printf()函数中的标记5. 输入函数scanf()的转换说明6. scanf()函数转换说明中的修饰符列表 7. printf(),scanf()函数的 * 修饰符如果在程序中不想预先指定字段宽度
格式转换说明符scanf,printf格式%大全/格式化输入输出
From: http://my.oschina.net/jinzei/blog/98699 相信不管大神还是菜鳥,都认得printf.它家还有兄弟sprintf,scanf,sscanf...$^&* 当你华丽丽的写下char c='c';printf("char=%d",c);的时候,一切都还是那么美好. 不过当你声明一个char buf[2];然后sscanf("30000",
C语言scanf函数与printf函数
scanf函数与printf函数:  scanf(&quot;&amp;lt;格式化字符串&amp;gt;&quot;,&amp;lt;地址表&amp;gt;);  printf(&quot;&amp;lt;格式化字符串&amp;gt;&quot;, &amp;lt;参量表&amp;gt;)。常用的:格式字符           说明%a                 读入一个浮点值(仅C99有效)%c                 读入/输出一个字符%s                 读入/...
C语言之scanf中的格式
scanf函数原型 控制格式 1.%[^\n]%*c 例子1 例子2 scanf函数原型 int scanf( const char *format, ... ); 见可变参数求和 https://blog.csdn.net/csdn_kou/article/details/79996606 控制格式 %c 一个单一的字符 %d 一个十进制整数 %i 一个整数 ...
scanf和printf的缓冲区
标准I/O缓冲区: 标准i/O提供缓存的目的是尽可能减少使用read和write调用的次数。标准I/O提供类三种类型的缓冲 全缓冲。这种情况下,在填满标准I/O缓冲区后才进行实际的I/O操作。对于驻留在磁盘上的文件通常是由标准I/O库实现全缓冲的。在一个流上执行第一次I/O操作时,相关的标准I/O函数通常调用malloc获取需要使用的缓冲区。 行缓冲。在这种情况下,当输入输出中遇到换行符时,标准I/O库执行I/O操作。当流涉及终端时,通常使用行缓冲。因为标准I/O库用来收集每一行的缓冲区
Eclipse下printf和scanf的运行顺序问题
小编按照平时的习惯打了一段c语言代码,发现在scanf处提示错误。                           为什么呢? 原来这是Eclipse下printf和scanf的运行顺序问题。 即输出缓冲区的问题。 解决方案: 方案一:设置缓冲区为空,即没有缓冲区;      在printf之前添加:setvbuf(stdout,NULL,_IONBF,0
01 [c语言][重要的知识点]printf函数和scanf函数的数据输出与读取问题
------- android培训、java培训、IOS培训、期待与您交流! ---------- 这是刚学习C语言的时候遇到的最早的一个问题,是以前从来没有接触过的一个全新知识点,在这里作为博客日志记下来,方便以后翻阅.   绪论 我们知道,在c语言编程中,printf函数是其标准函数库stdio.h中的标准输出函数,scanf函数是其标准数据库stdio.h中的标准输入
C语言再学习 -- printf、scanf占位符
参看:printf()、scanf()用法总结及其格式转换说明符 一、printf() printf()的返回值为输出的字符个数: 例:rv = printf ("hello"); 结果为rv = 5; 其格式控制如下列表所述: 表一、printf()格式转换说明符 注意:不要忘记给控制字符串后面的列表中的每个项目都使用一个转换说明。 转换说明 ...
第九课 C语言的输出输入scanf,getchar,printf,putchar
前言输出输入设备有很多,就拿电脑来说,输出设备有屏幕,投影仪,输入设备有键盘,鼠标。对于C语言也一样,输入函数有很多,标准输入函数有scanf,getchar,标准输出设备有printf和putchar而使用这些函数,需要用到头文件#include&amp;lt;stdio.h&amp;gt;,他包含了C语言的输入输出函数下面来介绍一下这些函数。1.getchar:从键盘上获取一个字符。    2.scanf:格...
关于C语言中printf()后的scanf()不执行问题,解决方法
在每个最后不带\n的printf后面加fflush(stdout); 在每个不想受接收缓冲区旧内容影响的scanf前面加rewind(stdin);
C语言-printf()和scanf()中*的作用
printf中的作用 scanf中的作用printf()中*的作用在printf()中*充当变量的占位符/*使用变量控制输出字符宽度*/ #include <stdio.h> int main(void) { unsigned width,precision; int number = 256; double weight = 243.67; printf("Enter
关于 C、C++里面 scanf() 与printf() 里面 %d %lld 使用总结
关于scanf() int 与 long long int 输入输出问题     1、如果 输入数不超过 INT_MAX         INT_MAX 内存模型为 最高位符号位 0 其他位(共31为)      此时,定义为int 或者 long Long 用%d %lld 读写 都没有影响     以下的前提是在 INT_MAX 范围内才满足:如果     (1)允许定义长整型,用短整型输...
C语言入门(二)之变量、printf位宽和保留位数、scanf多值输入、占位符、scanf结束符\n
变量的定义、初始化、格式化输出 #include &amp;lt;stdio.h&amp;gt; int main(int argc, const char * argv[]) { float floatValue;//定义变量 floatValue = 10.1f;//初始化(第一次赋值) printf(&quot;%f\n&quot;,floatValue); return 0; } 变量...
为什么printf()用%f输出double型,而scanf却用%lf呢
原文:http://blog.sina.com.cn/s/blog_899f46e501014cu6.html  示例:double x;scanf(“%f”,&x);输入“123.4”,输出x的值结果为0,没有接收输入的数据,再输入别的数据,结果都为0。这是因为用户定义x为双精度型数据,而用“%f”格式输入数据,仍不能接收,应该使用“%lf”或“%le”,即scanf(“%lf
printf()和scanf()函数中的*修饰符
printf()函数 如果转换说明符是%*d,那么参数列表中一个包括一个*的值和一个d的值。 #include int main() { unsigned width; int number=256; scanf("%d",&width); printf("the number is:[%*d]: \n",width,number); return 0; } 当输入width为
【C语言】scanf和printf的返回值。
little fairy的第二篇博客。 让我们一起来看看scanf和printf的返回值吧。 scanf: 在VS2012中,用scanf会给出警告。(对于一个程序员,警告比错误更致命。) scanf非常容易出错,所以我们一般要求不用scanf。 但如果用到scanf出错,为了解决,我们通常需要判断scanf的返回值。 scanf的返回值: 用scanf读取几个数,则scanf的返回...
【C语言】第二课:printf与scanf,基本运算
【C语言】第二课时:printf()和scanf(),基本运算符号 一个程序想要具有实用性必然离不开输入和输出两个功能 而printf()与scanf()是在C语言中实现这两个功能的函数 输出函数printf() 格式:printf(“输出语句,用%+类型插入变量”,需要插入的变量) 例: #include &quot;stdafx.h&quot; #include&amp;lt;stdio.h&amp;gt; int main(...
在初学C语言容易忽略的函数-scanf()函数与printf()函数
一:首先是初学时在使用VS软件是对于scanf()和scanf_s()的看法,开始时候因为VS中使用scanf()是一直会报错,所以之后就基本索性都用scanf_s(),至少不会报错,所以以致于后来都忘记去分析这两者的区别。后来仔细回来看看以前学的东西是会发现,其实很多知识点都会隐含在当初认为不起眼的地方。        先来说说scanf_s()函数是Microsoft公司VS开发工具提供的一
scanf与printf的返回值。
c语言scanf返回值(原文转自豆瓣,  1. scanf 函数是有返回值的,它的返回值可以分成三种情况   1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b);       如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量);       如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入
关于scanf函数与printf函数应该注意的点
这个是有关scanf与printf深入理解,以及常常会犯的错误整理。
格式化输入输出浮点数据的细微问题(C标准:printf,scanf)
刚开始学C语言的时候,看到用scanf输入浮点数据的对应字符串如下:float : %fdouble : %lf而printf输出的时候却都是统一的:float / double : %f你也许曾经跟我一样,用%lf输出过double,结果是正常的,因为%lf直接被当作了%f了。但是这时候问题就来了,问题1.C语言也算是强类型的语言,两种不同类型怎么能统一到同一种输出上呢?问题2.既然输出都可以统
double型(双精度型)的打印(printf) 和scanf
double型,printf()用%f输出,而scanf用%lf来接受输入。   格式 printf scanf %c int char * %d, %i int int * %o, %u, %x unsigned int u
C语言 scanf与printf的返回值
在使用scanf函数时要特别注意它的返回值,最好看一下它是否返回正确的返回值。例如:#include&amp;lt;stdio.h&amp;gt; int main() { int a; int b; int n=scanf(&quot;%d,%d&quot;,&amp;amp;a,&amp;amp;b); //成功返回的个数 printf(&quot;a=%d,b=%d\n&quot;,a,b); printf(&quot;%d\n&quot;,n); retu...
【C】C语言格式输入函数scanf()详解
参考了:C语言格式输入函数scanf()详解 总述 scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。 scanf函数的一般形式 scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件。 scanf函数的一般形式为: scan...
C语言中的标准输入输出 scanf()函数
C语言中,从键盘读入是使用函数scanf(); 例如:从键盘读入一个int类型的数据10; int n; scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;n); int m,n; scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;m, &amp;amp;amp;n); scanf()函数接收两类参数,其中,%d表示输入数据的类型,&amp;amp;amp;是取地址符。这两类参数可以不只有一种,但是两类参数数量必须一一
关于scanf函数的返回值问题(C语言)
一般来说,scanf返回成功读入的元素个数 如:   scanf(&quot;%d%d&quot;,&amp;amp;a,&amp;amp;b);   1.如果a和b都被成功读入,则scanf的返回值为2   2.如果只有a被成功读入,那么返回值为1   3.如果a和b都未被成功读入,那么返回值就为0   4.如果遇到错误或遇到end of file,返回值为EOF...
scanf(“%c”)等问题,清空输入输出缓存
C语言学习者经常会遇到printf()和scanf()的一些问题,没有正确输出或者输入。例如scanf(“%c”,&ch)没有接收到输入字符。或者输出printf(“\n”)不会换行的问题。 举个例子: #include int main() { char person[5]; int i; printf("输入编号:"); scanf("%d",&i); prin
C语言顺序程序设计详解(scanf,printf,getchar,putchar等函数)
一、C语言语句概述: C语句分为以下五类: :表达式语句->表达式语句由表达式加上分号“;”组成。 :函数调用语句->由函数名、实际参数加上分号“;”组成。 :控制语句-> 条件判断语句:if语句、switch语句; 循环执行语句:do while语句、while语句、for语句; 转向语句:break语句、goto语句、continue语句、return语句。
scanf()中的陷阱
关于scanf()函数中存在许多陷阱,是c语言初学者要注意的。 #include  main() {  int a; float b; char c; printf("请输入a的值:");  scanf("%d",&a); printf("请输入b的值:");  scanf("%f",&b); printf("请输入c的值:");  scanf("%c",&c); print
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 关于大数据培训 关于云计算