我试图在高尔夫挑战赛中以C语言读取4个整数,但我为解决该问题所需的代码长度感到困扰:
scanf("%d%d%d%d",&w,&x,&y,&z)
那是29个字符,考虑到我的总代码大小是101个字符,这是巨大的。我可以摆脱第一个int,因为我真的不需要它,所以我得到了以下代码:
scanf("%*d%d%d%d",&x,&y,&z)
这是27个字符,但仍然很长。
所以我的问题是,还有其他方法(技巧,函数,K&R东西)可以读取我不知道的整数,这可以帮助我减少这段代码吗?
非常感谢。
编辑:一些用户报告说我的问题类似于C中打高尔夫球的技巧
尽管本主题包含许多有助于缩短C代码的有用信息,但它与我的实际用例无关,因为它没有提供更好的读取输入的方法。
我不知道是否有比scanf更好的方法来读取多个整数(这就是为什么我首先要问这个问题的原因),但是如果有的话,我认为我的问题是相关的,并且与全局问题完全不同技巧和窍门。
如果没有更好的方法,那么如果有人找到更好的解决方案,那么我的问题在不久的将来仍然有用。
EDIT2:我正在寻找一个完整的程序(因此没有功能把戏)和所有可能的库。它必须是C,而不是C ++。目前,我的整个程序如下所示:
main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}
只要能缩短代码(这是代码golf :))并且只要它不是c ++,任何技巧都可以接受
4
通常,您可以提交一个函数而不是完整的程序,从而可以将这4个整数用作参数。
—
Denker
我知道了,谢谢您的评论,但就我而言,它必须是一个完整的程序。
—
BusyBeingDelicious
亲爱的投票人:这是非常明确的话题。为什么您仍要尝试关闭此功能?
—
DJMcMayhem