标签: printf

编译器在打印变量的地址时发出警告

我做了一个非常简单的程序来打印两个变量的地址.

#include<stdio.h>

int main()
{
    int a,b;
    printf("%u\n%u",&a,&b);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,Clang-3.7编译器发出警告:

warning:format指定类型'unsigned int'但参数的类型为'int*'[-Wformat]`

但是,当我使用GCC-5.x进行编译时,它没有发出任何警告.哪一项是正确的?

我知道的一件事是做错unsigned int num=&a;会因为地址只能存储在指针中.但是,编译器在打印地址时发出警告是否正确?

我从gcc.godbolt.org编译了我的程序

c printf gcc clang format-specifiers

0
推荐指数
1
解决办法
1553
查看次数

添加不在c中工作

我正在尝试添加c代码,但我的程序没有执行,不幸的是,代码块关闭了.错误是什么?

void main()
{
    float  a,b;

    printf("%30sAddition Of Numbers\n");
    printf("\nEnter Number 1: ");
    scanf("%f",&a);
    printf("\nEnter Number 2: ");
    scanf("%f",&b);

    printf("\nThe addition of %0.3f and %0.3f is %0.3f",a,b,(a+b));

}
Run Code Online (Sandbox Code Playgroud)

我想直接在printf语句中使用float输入添加结果,但我没有让它工作.

我也尝试将结果放在变量a中,但它也没有用.

    void main()
{
    float  a,b;

    printf("%30sAddition Of Numbers\n");
    printf("\nEnter Number 1: ");
    scanf("%f",&a);
    printf("\nEnter Number 2: ");
    scanf("%f",&b);
    a=a+b;
    printf("\nThe addition of %0.3f and %0.3f is %0.3f",a,b,a);

}
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

c printf addition format-specifiers

0
推荐指数
1
解决办法
300
查看次数

如何获取任何整数,例如10050,并将其输出为$ 100.50?

例:

int amount = 10050;
printf("format_string", amount);
// What should the format string look like to get $100.50 as the output?
Run Code Online (Sandbox Code Playgroud)

是否有可能告诉printf函数我想要从右边放两个数字点而不做这样的事情:

int amount = 10050;
printf("$%d.%02d", amount / 100, amount % 100); // Output: $100.50
Run Code Online (Sandbox Code Playgroud)

c printf

0
推荐指数
1
解决办法
56
查看次数

如何格式化MATLAB命令窗口的输出?

目前看这个API页面,我曾尝试输入format looseformat compact,但无济于事.我需要做的是更改此编号在命令窗口中的显示方式:

在此输入图像描述

我通过将它四舍五入到我从main函数调用的函数中的三个最重要的数字来获得该值.

stat = round(mean(v_stat),3,'significant'); 
Run Code Online (Sandbox Code Playgroud)

我通过这个语句显示值:

fprintf('Ratio of Compression for Blind Deconvolution: %d \n',stat1);
Run Code Online (Sandbox Code Playgroud)

我需要知道如何显示这个值,因为它是正确的状态,而不是乘以e提升到某种东西的力量.

io matlab printf rounding data-representation

0
推荐指数
1
解决办法
128
查看次数

将字符串插入另一个字符串...(sprintf)

当我编译这样的东西时,我收到警告......

std::string something = "bacon";

sprintf("I love %s a lot", something.c_str());
Run Code Online (Sandbox Code Playgroud)

它说"警告:从字符串常量到'char*'的已弃用转换.我尝试将文本转换为...

const char *
Run Code Online (Sandbox Code Playgroud)

相反,但我得到一个不同的错误.如果有更好的选择,我不会致力于sprintf.

c++ string printf

0
推荐指数
1
解决办法
545
查看次数

麻烦使用printf%f%n和double,然后添加一个字符串?

我正在努力使它显示一个数字列表,其中包含6个专用字符和两个2位小数,后跟一个"|".

for (int c = 1; c < Config.MAX_VALUE; c++)
        System.out.printf("%6.2f %n",(double)c + "|");
Run Code Online (Sandbox Code Playgroud)

我在添加"|"时遇到问题 并得到错误

"线程中的异常"主"java.util.IllegalFormatConversionException:f!= java.lang.String"

我该如何正确格式化?

java printf

0
推荐指数
1
解决办法
48
查看次数

C什么时候应该将char **终止为null?

在StackOverflow上找不到任何可解决此问题的问题。

我意识到char *数组不必以NULL终止,但是想知道什么时候需要它?

例如,在调试代码时,我使用很多printf()来查看我的变量在代码的某些阶段是否正确。

我有一个char **值,可容纳4个char *,最后一个char *为NULL。使用NULL终止时,从值[0]到值[3]的printfs会给我这 一点:名称只是我完成打印值数组后立即打印的另一个数组

Testing values1[0]: %HOME/bin:%PATH
Testing values1[1]: /%HOME/include
Testing values1[2]: /%HOME/lib
Testing values1[3]: (null)
Testing names2[0]: PATH
Testing names2[1]: IDIR
Testing names2[2]: LIBDIR
Run Code Online (Sandbox Code Playgroud)

我有一个char **和3个char *,所有这些都是有效的char *。如果不使用NULL终止,则printf从values [0]到values [3]给了我(名称未显示)

Testing values1[0]: %HOME/bin:%PATH
Testing values1[1]: /%HOME/include
Testing values1[2]: /%HOME/lib
Run Code Online (Sandbox Code Playgroud)

我认为,当printf(....,values [3])将是未定义的行为,例如打印垃圾值,但是如上面的输出所示,包括printf(....,values [3]以及之后的所有内容])似乎尚未执行。

c arrays printf pointers char

0
推荐指数
1
解决办法
1516
查看次数

传递给printf时,在重载的文字上键入需要的注释

我对这些感到困惑:

我这样写的时候

main = do
    putStrLn . printf "%f" $ 2.3
Run Code Online (Sandbox Code Playgroud)

它会导致

没有实例(PrintfArg a0)从使用所产生的printf

类型变量a0不明确

代码在GHCi中运行良好,当我runhaskell在终端中使用时发生了这个错误.

所以我写

putStrLn . printf "%f" $ (2.3 :: Double)
Run Code Online (Sandbox Code Playgroud)

没关系,但我不知道原因.

"%f"推断2.3属于类型Double

据我所知,putStrLn有类型String -> IO(),不能将printf结果转换为何String2.3不装饰Double

printf haskell type-inference

0
推荐指数
1
解决办法
81
查看次数

Printf等待进入

int kr=0;
int ss =0;
while ((kr=getchar()) != EOF){
      if(kr != '\n')
      {
        ss++;
      }

      printf("%d\n",ss);
}
Run Code Online (Sandbox Code Playgroud)

使用此代码,printf正在等待,直到我按下enter然后同时打印所有顺序ss值,就像这样

在此输入图像描述

.有人可以解释这种行为吗?

c printf getchar

0
推荐指数
1
解决办法
256
查看次数

如何通过wprintf函数打印uint32_t变量值?

众所周知,要打印变量值,类型是固定宽度整数类型之一(如uint32_t),您需要包含cinttypes(在C++中)或inttypes.h(在C中)头文件,并使用格式说明符宏PRIu32.但是在使用wprintf函数时如何做同样的事情?L在这种情况下,这样的宏应该扩展为带有前缀的字符串文字.

c c++ printf wchar-t uint32-t

0
推荐指数
1
解决办法
573
查看次数