c - 错误: passing 'float' to parameter of incompatible type 'const char *'

标签 c cs50

我正在研究一种贪婪算法,在将 float 转换为 int 时遇到错误

#include <cs50.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
    float n;
    //checking if given input is valid or not
    do
    {
        n = get_float();
    }
    while(n<0);
    //converting dollar into cents
    float coins = n * 100;

     int x = atoi(coins) //getting error here???

....
}

最佳答案

atoi 函数用于将字符串转换为整数。它需要一个 char * 作为指向字符串的参数。

这里不需要转换函数。您可以将 float 值直接分配给 int,任何小数部分都将被截断。

int x = coins;

但请注意,这可以调用 undefined behavior如果 coins 的截断值超出了 int 的范围。

关于c - 错误: passing 'float' to parameter of incompatible type 'const char *' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55368971/

相关文章:

CS50 IDE clang : error: linker command failed with exit code 1

c - ListView 滚动条闪烁

c - 我应该在函数中更改什么才能计算实数?

c - 将函数舍入 1 - C

C 从 int 中获取每隔一个数字

c - "argument in C"的定义是什么

c - 如何获取 nautilus 用于给定文件的缩略图?

c++ - 有关实现游戏多人游戏的信息?

c - 在这种情况下,C 是否正确处理了 sizeof(...) 和 sizeof ...?

c - 调整 BMP 图像的大小(使其变小)