gpt4 book ai didi

c - 一次打印 C 字符串的单个字符

转载 作者:行者123 更新时间:2023-11-30 19:00:21 26 4
gpt4 key购买 nike

我有一个变量:char *string以及一个 for 循环,其中 int i=0len(string)

在循环内,它打印 &string[i]

试图让它只显示一个单个字符,但如果我有一个字符串“red”,它会打印:

red
ed
d

最佳答案

为了使用 printf() 打印字符,您需要使用适当的格式说明符 %c,如下所示:

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

int main(void)
{
char* string = malloc(sizeof(char) * 16);
strcpy(string, "red");
for(size_t i = 0; i < strlen(string); ++i)
{
printf("%c\n", string[i]);
}
return 0;
}

输出:

r
e
d

正如 @jonathanLeffler 评论的那样,putchar(string[i]); 也能达到目的。

<小时/>

在您的尝试中,出了问题的是这一行*:

printf("%s\n", &string[i]);

由于字符串的格式说明符%s,它将从i开始打印整个字符串,直到其结尾(满足NULL终止符)-角色。

<小时/>

根据您的示例输出和帖子进行逆向工程。

关于c - 一次打印 C 字符串的单个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60013022/

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