zhangjinxuan 发表于 2022-11-4 19:55:51

【警告】格式中的未知转换类型字符“l” 这是什么原因?如何解决或关闭该选项开关?

本帖最后由 zhangjinxuan 于 2022-11-4 19:57 编辑

出现警告的代码:
#include <cstdio>
using namespace std;

int main() {
        printf("%lld", 11451400000);
        return 0;
}

警告原文:
行5,列9 unknown conversion type character 'l' in format [-Wformat=]

警告翻译:
[警告]格式中的未知转换类型字符“l”[-Wformat=]

这个在重装新版本(6.7)后出现,原版本(5.11)不会出现这个警告,因为这个警告让我觉得很烦,所以我就想可不可以解决,或者关闭,感谢解答{:10_303:}

原图片:

人造人 发表于 2022-11-4 20:01:35

常量也是有类型的

format specifies type 'long long' but the argument has type 'long' (FixIt)


#include <cstdio>
using namespace std;

int main() {
      printf("%lld", 11451400000LL);
      return 0;
}

zhangjinxuan 发表于 2022-11-4 20:02:37

人造人 发表于 2022-11-4 20:01
常量也是有类型的

加上仍然是一样的警告

zhangjinxuan 发表于 2022-11-4 20:03:13

人造人 发表于 2022-11-4 20:01
常量也是有类型的

不加也不会溢出,可能是开了优化的原因

人造人 发表于 2022-11-4 20:03:18

zhangjinxuan 发表于 2022-11-4 20:02
加上仍然是一样的警告

?

zhangjinxuan 发表于 2022-11-4 20:04:49

人造人 发表于 2022-11-4 20:03
?

真的

人造人 发表于 2022-11-4 20:05:08

zhangjinxuan 发表于 2022-11-4 20:03
不加也不会溢出,可能是开了优化的原因

format specifies type 'long long' but the argument has type 'long' (FixIt)

zhangjinxuan 发表于 2022-11-4 20:05:33

人造人 发表于 2022-11-4 20:03
?

人造人 发表于 2022-11-4 20:05:59

zhangjinxuan 发表于 2022-11-4 20:05


?

zhangjinxuan 发表于 2022-11-4 20:06:39

人造人 发表于 2022-11-4 20:05
?

传错了,刚刚重传了

人造人 发表于 2022-11-4 20:09:29

zhangjinxuan 发表于 2022-11-4 20:06
传错了,刚刚重传了

试一试

#include <cstdio>
#include <iostream>
using namespace std;

int main() {
    long long x = 123;
    cout << x << endl;
    return 0;
}

zhangjinxuan 发表于 2022-11-4 20:10:04

人造人 发表于 2022-11-4 20:09
试一试

不要cout

人造人 发表于 2022-11-4 20:10:29

zhangjinxuan 发表于 2022-11-4 20:10
不要cout

你先试一试这个代码有没有问题

zhangjinxuan 发表于 2022-11-4 20:10:38

人造人 发表于 2022-11-4 20:09
试一试

我只是想如何关闭该选项开关,天天做题的时候总是要看见一大堆

zhangjinxuan 发表于 2022-11-4 20:11:14

人造人 发表于 2022-11-4 20:10
你先试一试这个代码有没有问题

虽然没有,但是我只是想知道如何关闭该选项开关,天天做题的时候总是要看见一大堆

人造人 发表于 2022-11-4 20:14:43

zhangjinxuan 发表于 2022-11-4 20:10
不要cout

这代码能运行不?

#include <cstdio>
#include <iostream>
using namespace std;

int main() {
    long long x = 123;
    cout << x << endl;
    return 0;
}

人造人 发表于 2022-11-4 20:22:34

这个呢?
#include <cstdio>
#include <iostream>
using namespace std;

int main() {
    long long x = 123;
    printf("%lld\n", x);
    return 0;
}

人造人 发表于 2022-11-4 20:37:15

人造人 发表于 2022-11-4 20:01
常量也是有类型的

先不考虑警告
输出来的这个值对不对?

unsigned_int 发表于 2023-8-23 21:14:10

重装
页: [1]
查看完整版本: 【警告】格式中的未知转换类型字符“l” 这是什么原因?如何解决或关闭该选项开关?