gpt4 book ai didi

c - 这应该是 int,那我们为什么要使用 %s?

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:51 24 4
gpt4 key购买 nike

我正在做 CS50 练习,我不明白这段代码。它所做的一切都是将一个正整数作为输入,然后 printf。所以在 main() 中,我们将输入保存在 int i 中。

在下一步中,int i 用作函数 get_positive_int(“字符串提示”)的参数/参数 (?)。

为什么是字符串?这怎么可能?我原以为必须使用类型转换才能发生这种情况......

请随时纠正我,我迷路了。

// Abstraction and scope

#include <cs50.h>
#include <stdio.h>

int get_positive_int(string prompt);

int main(void)
{
int i = get_positive_int("Positive integer: ");
printf("%i", i);
}

// Prompt user for positive integer
int get_positive_int(string prompt)
{
int n;
do
{
n = get_int("%s", prompt);
}
while (n < 1);
return n;
}

最佳答案

根据documentation , get_intprintf 一样格式化提示。所以这里的%sprintf的格式字符串,第二个参数(prompt)是打印的字符串>%s.

换句话说,这里的格式字符串仅用于输出。无需为输入指定格式字符串(如 scanf),因为该函数已经知道它正在输入 int

关于c - 这应该是 int,那我们为什么要使用 %s?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57981256/

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