首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在scanf中'$%f‘和'%f’有什么区别?

在scanf中'$%f‘和'%f’有什么区别?
EN

Stack Overflow用户
提问于 2020-07-21 11:31:12
回答 2查看 44关注 0票数 1

嗯..。当我在C语言中学习标准输入/输出文件系统时,我有一个问题。

'$%f‘和'%f’有什么区别??

代码语言:javascript
复制
int main()
{
    int ctr;
    struct bookInfo books[3];

    for (ctr = 0; ctr < 3; ctr++)
    {
        printf(" what is book #%d? \n", (ctr + 1));
        gets(books[ctr].title);
        puts("who is author ? ");
        gets(books[ctr].author);
        puts("how much price this book?");
        scanf(" $%f", &books[ctr].price);
    }
    return 0;
}
EN

回答 2

Stack Overflow用户

发布于 2020-07-21 11:36:17

%f只是一个普通的浮点数,而最后一个scanf中的$只是一个符号:美元符号。实际上没有像$%f这样的字符。因为最后一个scanf需要书的价格,所以你应该在它之前加上$ (例如$20等于$ 20 )。

票数 4
EN

Stack Overflow用户

发布于 2020-07-21 11:37:59

stdin扫描scanf(" $%f", &books[ctr].price);

  • 0或更多空格

  • a single '$'。如果不是,扫描将停止,scanf()将返回0(也可能是EOF).

如果输入文本与浮点数匹配,则将其保存在books[ctr].price.中,则为

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63006921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档