gpt4 book ai didi

c - 将变量放入 C 中的转换规范中

转载 作者:行者123 更新时间:2023-12-05 01:19:54 25 4
gpt4 key购买 nike

我有一项任务,我想找出两种方法来做一件事。我这里有代码

#include <stdio.h>
int main(void)

{
char first[10];
int length;


printf("what is your first name?\n");
scanf("%s", &first);
length = strlen(first)+3;
printf("%d\n", length);
printf("Hi \"%s\"\n", first);
printf("Hi \"%20s\"\n", first);
printf("Hi \"%-20s\"\n", first);
printf("Hi \"%8s\"\n", first);
return 0;
}

整体上相当简单。然而,最后声明

printf("Hi \"%8s\"\n", first);

是我想做的不同的事情。该语句的标准是将其打印在比名称宽 3 个字符的字段中。我的名字是 Chris,我知道 8 个字符宽可以做到这一点,但是,我想知道我是否可以使用我创建的长度变量并在下面执行类似的操作,这样我就不必知道提前命名。

printf("Hi \"%[Length]s\"\n", first);

我知道这行不通,但我认为它可以传达想法。

最佳答案

使用附加参数指定宽度:

printf("Hi \"%*s\"\n", length, first);

(注意 * 而不是字段宽度)。

关于c - 将变量放入 C 中的转换规范中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17110861/

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