gpt4 book ai didi

C 风格的 printf/scanf

转载 作者:太空宇宙 更新时间:2023-11-04 00:33:39 26 4
gpt4 key购买 nike

我在这里和其他地方看到许多问题,要获取输入数据,请使用类似这样的东西:

 ...
printf("What's your name? ");
scanf("%s",name);
...

这让人想起过去的 BASIC 时代(INPUT 对于那些记得它的人)。

这些问题中的大部分(如果不是全部的话)都是来自刚刚学习 C 的人,并且是家庭作业或从他们的书中摘录的示例。

我清楚地记得,当我学习 C 语言时,有人告诉我这种问答方式不是获取用户输入的好习惯。 “正确的方法”是在命令行 (argv[...]) 上获取参数,或者从数据文件中读取数据以使用 fgets() 进行解析。当用户友好性是必须的时,必须使用 termio 和 friend 。

现在,我想知道过去几年是否有任何变化。人们现在是否应该将用户交互结构化为固定的问题/答案?

我只能看到使用 printf()/scanf() 方法的缺点,主要的缺点是终端的多样性(^H 有人吗?)这可能使用户难以纠正错误。

谁能指出这种方法的具体优势?

最佳答案

这种结构很容易解释,也很容易学习,这也是它出现在那么多介绍资料中的原因。在 C 语言中“以正确的方式”进行用户输入对于新手来说可能会让人望而生畏,尤其是当您必须处理标记化和转换时。

但是,我同意介绍性 Material 展示处理用户输入的更稳健方法是有值(value)的。

关于C 风格的 printf/scanf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1848707/

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