c语言格式控制符输出

求解惑,最终输出的形式是什么

#include<stdio.h>
int main()
{
    short a=29,b=-29,c=66666;
    printf("(1)a=%6hd\tb=%06hd\tc=%6hd\n",a,b,c);
    printf("(2)a=%6hu\tb=%-6hu\tc=%6hu\n",a,b,c);
    printf("(3)b=%#10ho\tb=%#10hx\tc=%#10hX",b,b);
    return 0;
}

(1)a=    29    b=-00029    c=  1130
(2)a=    29    b=65507     c=  1130
(3)b=   0177743    b=    0xffe3    c=         0

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7397068
  • 这篇博客也不错, 你可以看下c语言程序设计 编写一个程序,以每行一个单词的形式打印其输出
  • 你还可以看下c语言参考手册中的 c语言-成员访问与间接
  • 除此之外, 这篇博客: C语言获取多组数据,输入输出问题中的 读取字符串输入的两种方式 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    • getchar实现一个一个字符读取。

    • gets实现一行字符读取。

    • 注:如果不想用getchar来读取\n从而消除的办法,可以使用在%c前面加空格的方式来进行消除,此时写作while (scanf (" %c", &ch) !=EOF)

    //方法一:一个一个字符读取
     while (((ch=getchar() != '0') && ch != EOF)
    //方法二:读取一行字符
    gets(str);
    
  • 您还可以看一下 王健伟老师的C语言入门篇课程中的 数组作为函数参数小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    C语言格式控制符输出的最终形式取决于所使用的格式控制符以及相应的变量类型。下面是对不同类型格式控制符输出的具体解释和示例:

    1. 整型格式控制符:%d
    2. 最终形式为带符号的十进制整数。
    3. 示例代码:

    ```c #include

    int main() { int a = 3, b = 4; printf("%d %d\n ", a, b); printf("a = %d, b = %d\n", a, b); return 0; } ```

    运行结果: 3 4 a = 3, b = 4

    1. 浮点型格式控制符:%f
    2. 最终形式为带符号的十进制浮点数。
    3. 示例代码:

    ```c #define _CRT_SECURE_NO_WARNINGS 1 #include

    int main() { float num = 3.1415926; printf("%.3f\n", num); return 0; } ```

    运行结果:3.142

    1. 八进制和十六进制格式控制符:%o和%x
    2. 八进制格式控制符:%o会将整数以八进制形式输出。
    3. 十六进制格式控制符:%x会将整数以十六进制形式输出(小写字母)。
    4. 示例代码:

    ```c #define _CRT_SECURE_NO_WARNINGS 1 #include

    int main() { int num = 32; printf("%#o\n", num); printf("%#x\n", num); return 0; } ```

    运行结果: 040 0x20

    1. 无符号整型格式控制符:%u
    2. 最终形式为无符号的十进制整数。
    3. 示例代码:

    ```c #define _CRT_SECURE_NO_WARNINGS 1 #include

    int main() { unsigned int num = -10; printf("%u\n", num); return 0; } ```

    运行结果: 4294967286

    通过使用不同的格式控制符,可以将变量以不同的形式输出。请根据所需的输出形式选择适合的格式控制符。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^