标签: specifier

_cmd的正确字符串说明符是什么?

我使用%s作为_cmd,最新的XCode将生成错误"Format指定类型char*但参数类型为SEL".检查文档,找不到线索.有人知道使用正确的字符串说明符吗?

cmd nsstring specifier

2
推荐指数
1
解决办法
872
查看次数

字符串说明符(%d,%f等...)

#include <stdio.h>
#define Type int

int main()
{
        Type x=3;
        printf("%d",x);
        return 0;

}
Run Code Online (Sandbox Code Playgroud)

代码很简单,工作正常.我的问题是,如果我改变 #define Type int#define Type float如此,我必须改变%d,以%f也.有没有办法有一个通用的说明符,将所有的工作int,float,char,string等...所以,如果我改变#define Type int那么我不必改变内部格式说明printf()功能?

c specifier

2
推荐指数
1
解决办法
1684
查看次数

在C中乘以数字

我写了下面的代码来乘以两个数字,我看到结果是不正确的.我假设数据类型没有保持正确的值.但它的打印答案是错误的.

#include<stdio.h>
main()
{
    long int val1,val2;
    val1=val2=1235;
    char c = 'y';
    switch(c)
    {
        case 'y' : printf("%20d",val1*val2);
            break;
        default: printf("invalid");
            break;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:
17897 //这不是正确答案
//它应该实际上是1525225

c printf types specifier

2
推荐指数
1
解决办法
241
查看次数

为什么printf说明符格式%n不起作用?

这是我的代码:

#include <stdio.h>

int main(void) {
    int n;

    fprintf(stdout, "Hello%n World\n", &n);
    fprintf(stdout, "n: %d\n", n);

    return 0;
} 
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

Hellon: 0
Run Code Online (Sandbox Code Playgroud)
  1. 为什么fprintf格式说明符"%n"不起作用?
  2. 为什么要打印的字符串被中断?

ISO/IEC 9899:201x C11 - 7.21.6.1 - fprintf功能

转换说明符及其含义是:

(......)

%n参数应该是一个指向有符号整数的指针,其中写入到目前为止通过调用fprintf写入输出流的字符数.没有参数被转换,但是消耗了一个参数.如果转换规范包括任何标志,字段宽度或精度,则行为未定义....

(......)

这是我在Code :: Blocks上使用的编译器版本:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=C:/Program\ Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev
0/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --bu
ild=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysr
oot=/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 --enable-shared --enable
-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdc
xx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-
lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --
enable-version-specific-runtime-libs --disable-libstdcxx-pch …
Run Code Online (Sandbox Code Playgroud)

c printf specifier

2
推荐指数
1
解决办法
175
查看次数

C printf格式说明符%_ fi

有没有人知道下划线作为格式说明符(如%_f)是否在C代码中做了什么?我已经在一本使用它的书中找到了一些代码,但我用Google搜索并没有发现任何内容.我还在Xcode中测试了以下Objective-C代码,Xcode似乎不支持这个说明符.它在C中有效吗?

-(void) print {
    printf( "%_f + %_fi", real, imaginary );
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

c printf objective-c specifier

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

C中的“静态易失性”与“静态”对比“易失性”

static volatile组合使用变量说明符有什么区别?或者单独使用一个;喜欢staticvolatile在微控制器编程?

c variables specifier

1
推荐指数
3
解决办法
3万
查看次数

标签 统计

specifier ×6

c ×5

printf ×3

cmd ×1

nsstring ×1

objective-c ×1

types ×1

variables ×1