gpt4 book ai didi

c - 段错误(核心转储)- cPointers [C]

转载 作者:行者123 更新时间:2023-11-30 15:16:30 24 4
gpt4 key购买 nike

我被分配了一个用 C 语言完成作业的任务,但没有教过 C 语言。(我一直在学习 Java)我不知道如何修复这个错误,也不知道这个错误意味着什么。

#include <stdio.h>

//int mystrcmp(char * s, char * t);

int main(int argc, char * argv[])
{

// #1 Prints out cmd line arguments

int i;
for (i = 0; i < argc; ++i)
{

printf("%s\n",argv[i]);

}

printf("\n"); //Spaceholder

// #2 String Compare
printf("%s %s\n", argv[1], argv[2]);
printf("Returned Value: %d\n", mystrcmp(argv[1], argv[2]));
//mystrcmp(argv[1],argv[2]);


// #3 String Concatenate

printf("\n"); //Spaceholder
printf("String Concatenate: %s\n", mystrcat(argv[1]));

// #4 String Copy

printf("\n"); //Spaceholder
// printf("String Copy: %s\n" , mystrcpy(argv[1]));

}
///////////
//Methods//
///////////

/* srtcmp: return < 0 if s < t, 0 if s==t, > 0 if s > t */

int mystrcmp(char * s, char * t)
{

int i;
for(i = 0; s[i] && s[2]; ++i)
{
if (s[i] == t[i] || (s[i]) == t[i])
continue;
else
break;
}

if (s[i] == t[i])
return 0;
if ((s[i]) < (t[i]))
return -1;
return 1;

}
mystrcat(char *dest, char *source)
{
int a = 0;

while(*(dest + a) != '\0')
{
a++;
}

int b = 0;

while(*(source + a) != '\0')
{
*(dest + a) = *(source + b);
a++;
b++;
}

}

mystrcpy(char * s, char * dest)
{
while((*s++ = *dest++)!= '\0')
;
return *dest;
}

我假设错误来 self 的 mystrcat。

最佳答案

    while(*(source + a) != '\0')

应该是

    while(*(source + b) != '\0')

关于c - 段错误(核心转储)- cPointers [C],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33047214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com