c语言 关于函数sscanf问题

程序如下
#include <stdio.h>

int main( void )
{
char s[] = "31298 87.375";
int x;
double y;

sscanf( s, "%d%7f",&x, &y );

printf( "%s\n%s%6d\n%s%8.3f\n",
"The values stored in character array s are:","integer:", x, "double:", y );

return 0;

}

运行时,结果打印 y值有问题

高手指教!!!

#include <stdio.h>

int main( void )
{
char s[] = "31298 87.375";
int x;
double y;

sscanf( s, "%d%7lf",&x, &y );

printf( "%s\n%s%6d\n%s%8.3f\n",
"The values stored in character array s are:","integer:", x, "double:", y );

return 0;

}
错误很小;
%7f改为%7lf,因为是double.不是float.
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言 能用sscanf函数提取一行代码中某个字符后面的字符串吗
1、当然能。sscanf相当于格式输入,能够处理任何特殊格式的输入。2、例如:include <stdio.h>int main(){char abd[80]="aaabc.jpg";char buf1[10],buf2[10];sscanf(abd, "%[^.].%[^.]", buf1, buf2); \/\/通过ssanf获得文件名及后缀名printf("buf1=%s buf2=%s",buf1, buf2);} ...

c语言中关于sscanf函数的运用及%n的用法
代码如下:include<stdio.h> include<string.h> int main (){ char s[200];int n,wei;memset(s,0,sizeof(s));while(gets(s)){ int cnt=0,sum=0,num;char *p=s;while(sscanf(p,"%d%n",&n,&wei)==1){ sum+=n;cnt++;wei++;if(p) p+=wei;} printf("%d %d\\n",cnt,su...

c语言sscanf截取字符串函数获取后缀名
include <stdio.h>int main(){char abd[80]="abcde.jpeg";char buf1[80], buf2[80];sscanf(abd, "%[^.]", buf1);\/\/先读取.之前的字符串,到.为止sscanf(abd, "%*[^.].%s", buf2);\/\/先忽略.之前的字符,再读取.之后的字符printf("%s\\n", buf1);printf("%s\\n", buf2);...

C语言scanf用法
scanf是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include 。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数返回成功读...

请问C语言怎么将字符串数组中的数字给一个整型变量?
最简单的当然是使用sscanf这个函数啦。一个例子:include <stdio.h>int main(void) {char ch[] = "123456";int i;sscanf(ch, "%d", &i); \/\/将字符串里的数字按%d读取到i中printf("%d\\n", i);return 0;}

c语言scanf()函数的格式为什么是% d?
&n表示对象n在内存中的地址。scanf("%d%*c", &n);整体表示输入两个数,并且忽略掉第二个字符型的输入项,然后将输入的对象存入n。在C语言的scanf函数中,格式字符串的一般形式为:%[*][输入数据宽度][长度]类型(其中有方括号[]的项为任选项)。不同的格式符类型有不同的功能。

如何给一个C语言字符串转16进制数的函数?
多麻烦啊!看好了:include<stdio.h> int a;char *str="1Af";int main(){ sscanf(str,"%x",&a);\/\/%x为读入16进制数,大小写均可。sscanf是从c字符串中读入变量。printf("%i",a);return 0;}

c语言可以读取文件内容 来创建变量吗?
c语言可以利用fscanf和sscanf两个函数 读取txt文件内容并写入到变量里面。scanf:可以自动识别换行符和空格符 (1)fscanf可以读取txt文件里面同一行多个变量和不同行的变量都同时读取到多个变量里面。(2)sscanf是先读取到一个缓存里面,然后再赋值到各个变量中,是逐行读取的,这种用法适用于多维变量。1. C...

"C语言怎么根据ASCII码判断输入的数据是字符串还是纯数字&...
C语言使用的读入键盘输入的函数较常用的一般有:scanf fscanf sscanf getchar gets scanf、fscanf、sscanf 根据你定义的字符格式来判断是字符串还是纯数字。例如:scanf("%d",&a); 使用了格式控制%d就表示输入的十进制整数;scanf("%",a);控制%s就表示输入的字符串。详细格式控制符如下:a 读浮点值(...

刚学C语言,不太懂。把键盘输入的由数字字符组成的字符串转换为相应的...
有很多方法,我这里用sscanf()函数实现,它的作用是从字符串读取,而不是从标准输入读取,除此之外,和scanf()函数相同:\/\/--- include <stdio.h> int main(void){ char a[80];int b;scanf("%s",a);\/\/输入字符串 sscanf(a,"%d",&b);\/\/从字符串a读取一个整数 printf("%d\\n",b);...

相似回答