gpt4 book ai didi

c - 简单 C 程序中最奇怪的错误。 Linux 安装损坏?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:37 24 4
gpt4 key购买 nike

所以这是我所有的程序代码:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

typedef struct {
unsigned char adr;
unsigned char type;
} stru;

int main (int argc, char *argv[]){

while(1){

stru data;

data.adr = 5;
data.type = 4;

printf("Address: %c, Type: %c \n", data.adr, data.type);

}

return 0;
}

我用“gcc testprog.c -o testprog”编译了它。

输出如下:

Address: , Type:
Address: , Type:
Address: , Type:
Address: , Type:
Address: , Type:
Address: , Type:
Address: , Type:
Address: , Type:
Address: , Type:
Address: , Type:
Address: , Type:
^CAddress: , Type:
PuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTYPuTTY^C

我在 Virtual Box 上运行 Ubuntu 12.04 并通过 PuTTY SSH 客户端访问它我最近安装了 0MQ 库,但我认为这不是导致错误的原因。

如果有人对此有解决方案,请告诉我。谢谢。

最佳答案

我认为您想在格式字符串中使用 %u 而不是 %c

%c 将输入解释为 ASCII character值,因此使用 %c 打印 4 或 5 将打印出控制字符范围内的内容。输出控制字符可能是导致输出底部出现所有奇怪内容的原因。

%u 需要一个无符号整数作为输入,它会在打印前将整数转换为字符串。

我建议您阅读 tutorialreferenceprintf 样式的格式字符串上熟悉许多格式说明符之间的差异。

关于c - 简单 C 程序中最奇怪的错误。 Linux 安装损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12606528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com