注册 登录
编程论坛 C++教室

Dev-cpp和visual C++的区别

一条沙丁鱼 发布于 2015-04-08 20:28, 1133 次点击
一直用的是VC++6.0编译和运行的程序,后来因为某些原因需要换成Dev-cpp,于是好多就有差别了,在VC++6.0上能运行的在Dev上都不能运行了,在编代码中有什么需要注意改变的吗
6 回复
#2
rjsp2015-04-09 08:18
Dev-cpp和visual C++的区别
----- 两个不同的C/C++ IDE而已,自带的C/C++编译器也不同。

在VC++6.0上能运行的在Dev上都不能运行了
------ 说明你的代码有错误
#3
一条沙丁鱼2015-04-09 08:58
不能吧,代码在vc++上可以调试出来,而且运行结果也是符合的,比如就用之前的字符串匹配的那段代码,在vc++上可以,试过很多例子。在dev上就不行。会不会是一些格式上的问题呢?其实dev刚刚下载下来,还不怎么会用
#4
rjsp2015-04-09 13:50
以下是引用一条沙丁鱼在2015-4-9 08:58:54的发言:

不能吧,代码在vc++上可以调试出来,而且运行结果也是符合的,比如就用之前的字符串匹配的那段代码,在vc++上可以,试过很多例子。在dev上就不行。会不会是一些格式上的问题呢?其实dev刚刚下载下来,还不怎么会用
比如就用之前的字符串匹配的那段代码
------ 贴代码
#5
zklhp2015-04-09 15:48
都很老了 建议用新版的VS和Code::Blocks
#6
一条沙丁鱼2015-04-09 23:42
回复 4楼 rjsp
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
const m=100;
const n=50;
int stringmatch(char ch1[],char ch2[])
{
    int i,j,l;
    for(l=0;ch2[l]!=0;l++);//获取被比较字符串长度
    for(i=0;ch1[i]!=0;i++)
    {
        for(j=0;ch1[i+j]==ch2[j]&&ch2[j]!=0;j++);
        if(j==l)
           return 1;
    }
    return 0;
}

void main()
{
    int k;
    char c1[n];
    char c2[m];
    cout<<"请输入第一串字符:"<<endl;
    cin.getline(c1,n-1);
    cout<<"第一串字符为:"<<c1<<endl;
    cout<<"请输入第二串字符:"<<endl;
    cin.getline(c2,m-1);
    cout<<"第二串字符为:"<<c2<<endl;
    k=stringmatch(c1,c2);
    if(k!=0)
        cout<<"匹配成功,且开始匹配为:"<<k<<endl;
    else
        cout<<"匹配失败"<<endl;
}
#7
rjsp2015-04-10 12:20
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
const m=100; // 你去查查现在的C/C++标准,允不允许缺省类型int?
const n=50;
int stringmatch(char ch1[],char ch2[])
{
    int i,j,l;
    for(l=0;ch2[l]!=0;l++);//获取被比较字符串长度
    for(i=0;ch1[i]!=0;i++)
    {
        for(j=0;ch1[i+j]==ch2[j]&&ch2[j]!=0;j++);
        if(j==l)
           return 1;
    }
    return 0;
}

void main() // 你去查查C/C++标准,不管是过去的,还是现代的,允不允许main返回int及int兼容类型之外的类型?
{
    int k;
    char c1[n];
    char c2[m];
    cout<<"请输入第一串字符:"<<endl;
    cin.getline(c1,n-1);
    cout<<"第一串字符为:"<<c1<<endl;
    cout<<"请输入第二串字符:"<<endl;
    cin.getline(c2,m-1);
    cout<<"第二串字符为:"<<c2<<endl;
    k=stringmatch(c1,c2);
    if(k!=0)
        cout<<"匹配成功,且开始匹配为:"<<k<<endl;
    else
        cout<<"匹配失败"<<endl;
}
1