gpt4 book ai didi

c - 为什么 printf 只显示第一个字母?

转载 作者:太空狗 更新时间:2023-10-29 16:05:47 24 4
gpt4 key购买 nike

首先,我有一个函数,我将符号存储在 unsigned char* 中类型。例如 Abcdef!?它是 [65 0] [98 0] [99 0] [100 0] [101 0] [102 0] [33 0] [63 0] Unicode 中每个符号 2 个字节。

当我使用 for(unsigned char i=0; i<17; i++) printf("%c", pointer[i]); 时一切正常,显示Abcdef!? .但是当我使用 printf("%s" pointer);它只给我A没有别的。你能告诉我为什么吗?

最佳答案

因为 printf("%s", pointer) 的字面意思是:从存储在 pointer 的那个开始打印每个 char直到遇到 '\0'

'A' 之后有一个 '\0',所以只打印第一个字符。

关于c - 为什么 printf 只显示第一个字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41896288/

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