Chulainn 发表于 2017-6-20 20:45:28

这个程序编译时没有报错,但是无法运行。求指点。

#include<stdio.h>
strcat(char s[], char t[])
{
        int i,j;
        i=j=0;
        while(s!='\0')      //搜索字符串长度
                i++;
        while(t!='\0')
                s=t;
        s='\0';
        return i;
}

main()
{
        char str1,str2;
        int len;
        gets(str1);               
        gets(str2);
        len=strcat(str1,str2);
        printf(" \"%s\" length: %d\n",str1,len);
}


这段代码的意思:
编写一个函数strcat(char s[], char t[]),实现将字符串t拼接到字符串s之后,并返回连接以后新字符串的长度。

ba21 发表于 2017-6-20 21:32:57

strcat 函数名跟系统函数重名 改个就行了 比如改成:strcat1(char s[], char t[])

Chulainn 发表于 2017-6-20 23:20:56

ba21 发表于 2017-6-20 21:32
strcat 函数名跟系统函数重名 改个就行了 比如改成:strcat1(char s[], char t[])

哇!!!!!真的好谢谢你!!!这个问题困扰我半天勒!!!感谢网友的热心解答{:5_92:}

Chulainn 发表于 2017-6-20 23:30:18

ba21 发表于 2017-6-20 21:32
strcat 函数名跟系统函数重名 改个就行了 比如改成:strcat1(char s[], char t[])

大佬我还想问一个问题。我并没有加   #include<string.h>那重名从理论上说应该没影响啊

ba21 发表于 2017-6-21 11:27:19

Chulainn 发表于 2017-6-20 23:30
大佬我还想问一个问题。我并没有加   #include那重名从理论上说应该没影响啊

标准库中有的函数及关键字都不能重名的

Chulainn 发表于 2017-6-21 15:22:42

ba21 发表于 2017-6-21 11:27
标准库中有的函数及关键字都不能重名的

好的,谢谢{:5_92:}
页: [1]
查看完整版本: 这个程序编译时没有报错,但是无法运行。求指点。