husuiwen 发表于 2016-8-11 20:09:05

实在找不出哪里出错啦,哪位好心人帮看看

#include<stdio.h>
#include<string>

void main()
{
        void cat(char a[],char b[],char c[]);
        char a,b,c;

        printf("请输入2个字符串:\n");
        gets(a);
        gets(b);
        cat(a,b,c);
        printf("%s\n",c);

}


void cat(char a[],char b[],char c[])
{
        int i,j;

        for(i = 0;a != '\0';i++)
                c = a;
        for(j = 0;b != 0;j++)
                c = b;
        c = '\0';
}提示的是:“语法错误”,我用的是Vs2010{:9_233:}

1366627538 发表于 2016-8-11 20:40:22

现在的vs早已经不支持gets(),这个函数了,编译器提示使用这个函数是不安全的,你得换成scanf_s()函数就OK了!
                     对了 友情提示:vs你需要写一个system(“”pause“”);要不然会闪退,这个函数定义在stdlib.h的头文件中, 你打头声明下就可以用了。

husuiwen 发表于 2016-8-11 21:34:34

谢谢!搞了半天原来#include<string>忘记加个.h了,也没提醒,害我找了半天。{:9_240:}

樱花 发表于 2016-8-12 19:49:22

husuiwen 发表于 2016-8-11 21:34
谢谢!搞了半天原来#include忘记加个.h了,也没提醒,害我找了半天。

...这

Krant5 发表于 2016-8-14 00:05:15

husuiwen 发表于 2016-8-11 21:34
谢谢!搞了半天原来#include忘记加个.h了,也没提醒,害我找了半天。

不是这样的 C++里面就是没有.h的 看你创建的文件类型

轮回的夏 发表于 2016-8-15 16:22:22

你的这段程序在VC++6.0的环境是可以运行的,我帮你测试过了,可能是我接触的程序比较少,现在还做不到只靠看程序就搞懂它的功能,我希望你以后能改下编程的习惯,多加入一些注释,如果你的程序很长又没注释,我觉得真的没什么人会看。
既然你找到问题了,就没什么好说的了
共勉

halu 发表于 2016-8-15 16:44:27

cstring/string.h和 string头文件不一样

1366627538 发表于 2016-9-2 09:08:02

可能是string.h头文件是为了支持C语言的函数,不过还是建议使用string头文件,它的函数更安全更强大。

iszhuangsha 发表于 2016-9-2 21:35:05

总感觉c很繁琐

紫瞰 发表于 2016-9-3 09:40:23

{:5_91:}学习
页: [1]
查看完整版本: 实在找不出哪里出错啦,哪位好心人帮看看