标题:关于sscanf()的用法
只看楼主
鲸落南北
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2020-1-28
结帖率:100%
已结贴  问题点数:20 回复次数:6 
关于sscanf()的用法
#include<stdio.h>

int main()
{
    char str[10];
    int n,a,b,c;
   
    gets(str);
   
    sscanf(str,"%d",&n);
    sscanf(str,"%ld%ld%ld",&a,&b,&c);
   
    if(a*a*a + b*b*b + c*c*c == n)   
    {   
        printf("yes\n");           
    }
        
    else   
    {   
        printf("no\n");
    }   
   
    return 0;
 }
编译的时候编译器跳过了if放后面的的语句,直接输出else后面的语句
不知道怎么改,才能输出正确的答案
搜索更多相关主题的帖子: 用法 输出 语句 printf str 
2020-01-30 12:06
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:15 
你输入了什么,想要输出什么要交代清楚啊,不然我们怎么你想要得到什么样的结果。
sscanf是从字符串读取格式化输入的函数,为了是取到一个字符串内不同的数据表达方式,你这个取得的三个数据都是长整型,且中间没有其他标志中断,sscanf怎么知道应该从什么地方中断得到a,b,c.

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-01-30 13:22
lijingui2010
Rank: 1
等 级:新手上路
威 望:1
帖 子:5
专家分:5
注 册:2020-1-29
得分:5 
#include<stdio.h>

int main()
{
    char str[10];
    int n,a,b,c;

    gets(str);

    sscanf(str,"%d %d %d %d",&n,&a,&b,&c);

    if(a*a*a + b*b*b + c*c*c == n)
    {
        printf("yes\n");
    }

    else
    {
        printf("no\n");
    }

    return 0;
 }

输入:3 1 1 1 试试
2020-01-30 15:45
鲸落南北
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2020-1-28
得分:0 
回复 2楼 纯蓝之刃
嗯嗯,用你的方法输出来啦

[此贴子已经被作者于2020-1-30 16:02编辑过]

2020-01-30 15:47
鲸落南北
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2020-1-28
得分:0 
回复 3楼 lijingui2010
好的输出来啦!
2020-01-30 15:53
鲸落南北
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2020-1-28
得分:0 
回复 3楼 lijingui2010
好的,输出来啦!
2020-01-30 15:54
jinxiao66
Rank: 2
等 级:论坛游民
帖 子:11
专家分:16
注 册:2019-12-22
得分:0 
学习了!
2020-01-31 08:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-499042-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.862467 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved