我正在写一个编程问题的解决方案。问题如下:
你的程序是使用暴力的方法来找到生命、宇宙和万物的答案。更准确的说……从输入到输出重写小数字。停止处理输入读入数字42后。输入的所有数字都是整数一个或两个数字
我把我的代码粘贴在下面。当我提交这个解决方案时,我得到了分割错误。有人能指出这段代码有什么问题吗?如有任何帮助,我将不胜感激。
#include <stdio.h>
int main(void) {
int number = 0;
while (1)
{
int c = getchar();
if (c != EOF)
{
number = number * 10 + c;
}
else
{
//const char value = number;
if (number != 42)
{
printf(number);
printf("n");
number = 0;
}
else
{
return 0;
}
}
}
}
在你的代码中
printf(number);
是无效的。您缺少printf()
所需的格式说明符。你想写
printf("%d", number);
同样,printf()
是一个可变函数,它可以接受一个或多个参数,只要满足条件,编译就不会失败。但是,由于参数类型不匹配,此实例将导致未定义行为。