这个问题与SPOJ教程问题有关:
你的程序是使用蛮力方法来找到生命,宇宙和一切的答案。更确切地说......从输入到输出重写小数字。读取数字42后停止处理输入。输入的所有数字都是一位或两位数的整数。
我想运行程序而不使用if -else语句,但程序不起作用。有人可以告诉我,我做错了什么?
(defun open-outside-emacs (orig-fun size op-type filename)
(if (not (string-equal op-type "open"))
(apply orig-fun size op-type filename)
(call-process "/usr/bin/xdg-open" nil 0 nil (expand-file-name filename))
(error "opened externally")))
(advice-add 'abort-if-file-too-large :around #'open-outside-emacs)
答案 0 :(得分:1)
这是获得所需结果的快捷方式。
由于您希望用户输入数字(由多个字符组成),因此您需要使用scanf()
而不是getchar()
。
scanf()文档:http://www.cplusplus.com/reference/cstdio/scanf/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
while (i != 42)
{
scanf("%d", &i);
printf("You have entered : %d\n", i);
}
printf("You have successfuly entered 42!\n");
exit(0);
}
希望这有帮助。