gpt4 book ai didi

C 分配字符串时无法包含格式说明符

转载 作者:行者123 更新时间:2023-11-30 16:48:07 25 4
gpt4 key购买 nike

我希望在为名为 answer 的字符串赋值时能够使用 %d 格式说明符。我尝试这样做,但运行程序时无法将格式说明符替换为整数......这是我的代码:

#include <stdio.h>                                                                                                                                    
#include <stdlib.h>
int main(void)
{
const char *answer;
int year;
printf("Enter a year: \n");
scanf("%d", &year);
if ( (year % 400 == 0) || ( (year % 4 == 0) && !(year % 100 == 0) ) ){
answer = "%d does have a bissextus day", year;
}
else {
answer = "%d doesn't have a bissextus day", year;
}

printf("%s\n", answer);

return 0;
}

我还想知道在这种情况下使用 const char *answer 是否是一个不错的选择,如果不是,我想知道我应该使用什么。

最佳答案

您可以使用snprintf :

char answer[34]; 
// ...
snprintf(answer, 34, "%d does have a bissextus day", year);

关于C 分配字符串时无法包含格式说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43102960/

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