问题在于LeetCode的实现strStr。我有一个工作解决方案,当我在我的计算机上编译和执行时,它工作得很好,但是当我尝试用LeetCode运行它时,它会给我一些奇怪的错误。我不知道是什么问题。
这是我的解决办法:
#include <stdio.h>
#include <stdlib.h>
int strStr(char *haystack, char *needle) {
if (needle[0] == '\0')
return 0;
int i = 0;
int j = 0;
while (
我正在用valgrind检查一些代码,我得到了这个错误:
==7001== Invalid read of size 1
==7001== at 0x402E21B: strstr (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==7001== by 0x8049742: replace_in_file (functions.c:191)
==7001== by 0x8049C55: parse_dir (functions.c:295)
==7001== by 0x8049059: main (main.
我正在做一项任务,正在经历一些奇怪的事情。我的程序中有这个while循环,它似乎不会分支到for循环中。我放置了两个print语句,并且只有"1“一遍又一遍地打印。请注意,只有当我从linux终端编译和运行时,才会发生这种情况。现在看起来奇怪的是,如果我在Netbeans中运行完全相同的代码(while循环加上其他所有代码),它似乎可以按预期进行编译和运行。任何人都知道可能出了什么问题。下面是代码。我很感谢你的帮助。
while(strstr(p,string_a)!= NULL)
{
p = trailerp + pholderp;
long int index =
我试图通过命令行将多个参数传递到我的linux终端上的C程序中,但我得到了一个分段错误。
这是我的输出:
$ ./a.out bar a a
you made it past opening and reading file
your file size is 7
Your count is:2
Segmentation fault (core dumped)
这是我应该得到的:
$ ./a.out bar a a
you made it past opening and reading file
your file size is 7
Your count is:2
Your co
我在C中工作,Linux终端。我需要在文本中找到一个模式,并对其重新着色。GDB调试可以通过(gdb)回溯找到导致问题的函数,但当我试图找到准确的行时,它会显示一条可怕的消息:
错误
Program received signal SIGSEGV, Segmentation fault.
strstr_sse2_unaligned ()
at ../sysdeps/x86_64/multiarch/strstr-sse2-unaligned.S:40
40 ../sysdeps/x86_64/multiarch/strstr-sse2-unaligned.S: No such file or
我有以下声明
if ( !(strstr($Description1,'word1') OR strstr($Description1,'word2') OR
strstr($Description2,'word1') OR strstr($Description2,'word2') OR
strstr($Description3,'word1') OR strstr($Description3,'word2') OR
strstr($Descripti
编写函数strstr,这样它将是使用以下签名的递归函数(而不是递归的包装器)。
简而言之,strstr首先返回substr出现在str中的位置的索引,如果没有找到,则返回-1。更多
这是我的尝试:
int strstr1(char *str, char *substr){
if (*str == 0 || *substr == 0)//basis, if any of the strings is empty, will return -1
return -1;
else{
strstr1(str + 1, substr); //for