- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在 CodeEval 上用 C 语言进行 fizz buzz 挑战。它在我的电脑上运行良好,但是当我去 CodeEval 上提交时,我遇到了失败和 0 分。它说我有一个缓冲区溢出错误,但它在我的计算机上运行良好,并且正在生成挑战所要求的准确输出。
/*Program Written and Designed by Ryan Sharpe*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void* printNumbers(int A, int B, int max)
{
char* num = (char*)calloc(2, sizeof(char));
int i = 1;
while(i < max+1)
{
if(i % A == 0 && i % B > 0)
strcpy(num,"F");
else if(i % B == 0 && i % A > 0)
strcpy(num,"B");
else if(i % A == 0 && i % B == 0)
strcpy(num,"FB");
else
strcpy(num,"X");
if(strncmp(num,"X", 2) == 0)
printf("%d%s", i, " ");
else
printf("%s%s", num, " ");
i++;
}
printf("\n");
free(num);
return 0;
}
int main(int argc, char** argv)
{
FILE* f;
f = fopen(argv[1], "r");
int A, B, max;
while(fscanf(f,"%d%d%d", &A, &B, &max) != EOF)
printNumbers(A, B, max);
fclose(f);
return 0;
}
CodeEval 给出的错误是:我没有运行我的程序:
* buffer overflow detected *: /binary terminated ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7ff699aad807] /lib/x86_64-linux-gnu/libc.so.6(+0x109700)[0x7ff699aac700] /binary[0x4007a0] /binary[0x400857] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7ff6999c476d] /binary[0x400639] ======= Memory map: ======== 00400000-00401000 r-xp 00000000 ca:01 1334 /binary 00600000-00601000 r--p 00000000 ca:01 1334 /binary 00601000-00602000 rw-p 00001000 ca:01 1334
/binary 018c3000-018e4000 rw-p 00000000 00:00 0
[heap] 7ff69978d000-7ff6997a2000 r-xp 00000000 ca:01 134950
/lib/x86_64-linux-gnu/libgcc_s.so.1 7ff6997a2000-7ff6999a1000 ---p 00015000 ca:01 134950
/lib/x86_64-linux-gnu/libgcc_s.so.1 7ff6999a1000-7ff6999a2000 r--p 00014000 ca:01 134950
/lib/x86_64-linux-gnu/libgcc_s.so.1 7ff6999a2000-7ff6999a3000 rw-p 00015000 ca:01 134950
/lib/x86_64-linux-gnu/libgcc_s.so.1 7ff6999a3000-7ff699b58000 r-xp 00000000 ca:01 134939
/lib/x86_64-linux-gnu/libc-2.15.so 7ff699b58000-7ff699d57000 ---p 001b5000 ca:01 134939
/lib/x86_64-linux-gnu/libc-2.15.so 7ff699d57000-7ff699d5b000 r--p 001b4000 ca:01 134939
/lib/x86_64-linux-gnu/libc-2.15.so 7ff699d5b000-7ff699d5d000 rw-p 001b8000 ca:01 134939
/lib/x86_64-linux-gnu/libc-2.15.so 7ff699d5d000-7ff699d62000 rw-p 00000000 00:00 0 7ff699d62000-7ff699d84000 r-xp 00000000 ca:01 134929 /lib/x86_64-linux-gnu/ld-2.15.so 7ff699f6c000-7ff699f6f000 rw-p 00000000 00:00 0 7ff699f7f000-7ff699f84000 rw-p 00000000 00:00 0 7ff699f84000-7ff699f85000 r--p 00022000 ca:01 134929
/lib/x86_64-linux-gnu/ld-2.15.so 7ff699f85000-7ff699f87000 rw-p 00023000 ca:01 134929
/lib/x86_64-linux-gnu/ld-2.15.so 7fff5e021000-7fff5e042000 rw-p 00000000 00:00 0 [stack] 7fff5e1ff000-7fff5e200000 r-xp 00000000 00:00 0
[vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
[vsyscall]
最佳答案
strcpy(num,"FB");
这就是问题所在。早些时候,您只为 num
中的两个字符分配了空间,但是此调用会将 3 个字符写入 num
:F
、B
,和一个空终止符。这会产生未定义的行为。
它能在您的计算机上运行这一事实仅表示您很幸运。
关于CodeEval 提交,程序在我的电脑上运行,但在我提交时却不行。 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25089656/
我是使用 undertow 的新手,我正在开发一个独立的应用程序,它将用作嵌入式服务器。我希望我可以在我的嵌入式 undertow 中部署 web sockets、servlets 和 restful
有谁知道为什么这不起作用,今天有 2 个答案的组合。我只是想让传递的参数显示在警报中,其他一切都有效,所以忽略 url 操作等 $('#changetopicss').click(function (
我需要在用户在 input 中输入数据后更新 div,但我不能。 div 出现,但随后消失。 我的代码: 函数.js window.onload = function(){ var mydata =
我有一个包含一堆 java 项目的工作区。如果我转到文件->刷新,它不会真正刷新任何内容(可能是当前选择的项目)。如何让 Eclipse 刷新所有项目? 最佳答案 它确实只会刷新当前项目(或者更具体地
我在 makefile 中使用了 += 并尝试添加更多编译文件: 使左边的文件能正常工作:编译4个.cpp文件。 但是make the right file是不行的,只能编译main.o和xmluti
下面的代码应该打印 3 个人,但实际上打印了 4 个人,为什么?Person("a", 1) 和 Person("a", 4) 应该被视为相同,但它们不是。 import java.util.Tree
$ testem ci not ok 1 PhantomJS - Browser "phantomjs /home/ubuntu/.nvm/v0.10.12/lib/node_modules/test
我有一个 JavaScript 函数,它没有给出我想要的结果。 这是代码(它是 JavaScript 函数的一部分): alert("yes"); // This
我在一些ajax内容之后将一些数字放入输入字段中,当我尝试让该字段将其作为脚本数据粘贴到uploadify中时,它会粘贴空字符串,但是如果我在输入字段中输入相同的值并尝试将 uploadify 中的字
我有这个表 文章 文章ID 文章名称 文章数量 文章_价格 文章数量 订单 orders_id 文章_id 发票 ID 客户 ID 客户 customers_id 客户名称 客户位置 客户办公室 客户
我正在尝试一种 SQL 注入(inject): http://localhost/test/mysql.php?uid=1;%20DROP%20TABLE%20test 此 URL 应等于语句: SE
假设你有这样一个类 public class Foo { public int Bar { get; set; } = 42; } 如果您尝试将属性作为 ref 参数传递,编译器会发出错误 CS
我已经实现了 block UI,因为当 ajax 请求开始时,此请求可能需要一点时间,一切都会按预期工作。 但是当 ajax 请求完成并显示消息框时,UI 不会解除阻止! 有什么想法吗? 我使用的是
首先,对这个非描述性的标题感到抱歉,我太匆忙了,所以无法想出更好的标题。 第二: 我的数据库的一部分如下图所示: 我的系统上有贡献者,每个贡献者都写入多个源,并且一个源可以有许多正在工作的贡献者。用户
这个问题在这里已经有了答案: Why can't you use the keyword 'this' in a static method in .Net? (7 个答案) 关闭 9 年前。 这来
var allRows = this.getTbodyEl().rows; for (var i = allRows.length - 1; i >= 0; i--){ var thisRowID
我正在尝试连接到 MAMP Pro 上托管的 MYSQL 服务器。我正在尝试使用 java 和 VBA 从同一台客户端计算机进行连接。 VBA 连接正常,但 java 在几秒钟后给出错误 com.my
我有一个将 SVG 下载为 PNG 的功能。它在 Chrome 中运行良好,但在 Firefox 中不会触发下载。需要改变什么? function downloadGraph(contextDivId
我刚刚开始使用 Gulp,但我似乎无法让它工作。当我运行常规 sass 命令时,一切都编译得很好。 这是我的 Gulp 文件: //Gulp Dependencies var gulp = requi
Ajax GET 请求工作正常。但我必须使用 POST,因为我希望发送大量数据,对于 GET 来说太多了。 环境:Apache 2、Debian 9(从头开始)、jQuery 3.2.1,没什么特别的
我是一名优秀的程序员,十分优秀!