printf-debugging 相关问题


printf() 中可以有“+”运算符吗?

void main(){ char str1[10] = "你好", str2[10] = "世界"; printf(5 + "早上好 ”); } 上面的代码输出: 早晨 我不明白为什么。


为什么我在这里遇到指针分段错误?

为什么我会出现分段错误? #包括 int main() { printf("请输入第一个数字:"); 整数a; scanf("%d “,A); int *pa = &a; printf(&q...


这段代码在C语言中的执行顺序是什么(1< recursions)

#包括 int zad1(int k){ 如果 (k <= 2) return 0; printf("k = %d\n", k); zad1(--k); zad1(k-1); printf("k = %d\n", k); } void main...


使用 printf 打印高精度双精度数,使用 GCC 编译

在C程序中用printf打印并用%.20f指定小数点后有多少个字符时,它只给我15个字符,其余的都是0。我用GCC编译...


如何在 printf() 中使用“+”运算符将整数和字符串数据类型一起打印? [重复]

给我的问题,要求以下代码的输出: #包括 int main(){ printf(5+"test_Quiz"); 返回0; } 正确的答案/输出是: 测验...


在Windows批处理脚本中使用printf写入带有特殊字符的行

我有一个简单的需要在 Windows 批处理脚本中执行此操作: 设置 getlock=C:\getlock.awk 如果存在 %getlock% 删除 %getlock% 回声 /^^uq:/ ^&^& /updsync/ {>>%getlock% 回声 printf (“...


C 代码编译成不正确的指令

#包括 #包括 int main(int argc, char** argv) { char *str5=malloc(10); *str5=“xxxxx”; printf("%s “,str5); 返回0; } 编译为...


C 代码编译成奇怪的指令[重复]

#包括 #包括 int main(int argc, char** argv) { char *str5=malloc(10); *str5=“xxxxx”; printf("%s “,str5); 返回0; } 编译为...


使用 fscanf 无限输出

#包括 字符名称[100]; int 类; 无效显示(文件* p){ while ((fscanf(p, "姓名:%s,班级:%d ", 名称, &Class))!= EOF) { printf("姓名:%s,班级:...


printf 和整数的奇怪警告

我对以下代码和 GCC 编译器(Linux 上的 v11.4 到 x86_64)感到疯狂: 静态无效 disasm_TESTSX_X(char *__buffer, test_inst_t *inst) { __buffer += sprintf(__buffer, "...


C 宏,奇怪的东西

尝试在 C 宏中找出一些简单的东西, 像这样的代码例如: #包括 #定义宏(b) printf("%d “,b*b) int main() { 宏(4+1); } 这的输出...


Rust 如何忽略打印到标准输出错误?

如何忽略 Rust 中的管道错误?在 C 语言中,这是免费的: 用户@localhost:~ $ cat main.c #包括 int main(){printf("你好世界! “);} user@localhost:~ $ clang main....


C语言中最好的计时方法?

以高分辨率和可移植性对代码段进行计时的最佳方法是什么? /* 从这里开始的时间 */ ProcessIntenseFunction(); /* 到这里。 */ printf("耗时 %d 秒 %d 毫秒", 秒...


为什么这个程序专门使用负整数?

我正在阅读 C API LUA 文档,我注意到这段代码: lua_pushnil(L); /* 第一个键 */ while (lua_next(L, t) != 0) { /* 使用“key”(在索引-2处)和“value”(在索引-1处)*/ printf(&q...


C 语言中数据类型 BYTE、WORD 和 DWORD 的格式说明符?

在 C 语言中,与 printf 和 scanf 函数一起使用的数据类型 BYTE、WORD 和 DWORD 最合适的格式说明符是什么? 我很难显示 BPB 字段的值...


如果我在 printf() 中的字符串后面添加一个带有加号的 int 会发生什么?

我已经阅读了下面的混淆程序中的代码。 我想知道为什么当我这样做时编译器给我一个警告而不是错误。代码真正想要做什么,...


Linux 用户空间 api:如何在不解析 /proc/self/maps 的情况下获取作为 PIE 链接的正在运行的可执行文件的地址空间大小?

在 dl_iterate_phdr 的帮助下,我可以通过 dlpi_addr 加载主可执行文件和所有二进制文件的起始地址,它与我可以通过 printf 打印的函数指针地址相关,但是其他字段...


指针和结构:为什么这个 C 代码不起作用?

我不明白为什么下面的代码尽管正确打印了产品名称,但无法正确显示产品编号。你能向我解释一下吗? #包括 我不明白为什么以下代码尽管正确打印了产品名称,但无法正确显示产品编号。你能给我解释一下吗? #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct products { char name_[4]; int number_; } Product; Product* createProduct(char* name, int number) { Product* new_product = malloc(sizeof(Product)); if(new_product == NULL) return NULL; new_product->number_ = number; strcpy(new_product->name_, name); return new_product; } int main() { Product* array[3]; array[0] = createProduct("Product 1", 0xAABBCCDD); array[1] = createProduct("Product 2", 0xFFAA33EE); array[2] = createProduct("Product 3", 0xBBCC7799); for(int i = 0; i < 3; i++) { Product* product = array[i]; printf("%s : 0x%X\n", product->name_, product->number_); free(product); } printf("Are all product numbers displayed correctly?\n"); return 0; } 元素 Product.name_ 可以容纳 3 个字符的字符串(加上 \0),但您传递了 strlen("Product 1") == 9,因此 strcpy() 将导致未定义的行为。考虑使用 strncpy() 或 memcpy() 并确保生成的数组已 \0 终止。


© www.soinside.com 2019 - 2024. All rights reserved.