让C语言编译器,输出一个字符串,但是代码出错

我用VS2017的C语言编译器,想编译字符串,并且输出,但是代码出现错误,很奇怪。我写的语句应该都是没有问题的,下面是图

图片说明

qq_43412960
qq_43412960 谢谢
6 个月之前 回复

2个回答

你的代码不标准,首先你using namespace std;,那么你

#include <string>

不需要.h
那是turbo c++的写法
下面,main函数,必须有返回值,并且根据c++ 98标准,必须是int作为返回值。无返回值,或者void都是不符合规范的。

#include <iostream>
#include <string>

using namespace std;

int main()
{
    int a = 2;
    string b = "s";
    cout << a << "," << b << endl;
    return 0;
}
qq_43412960
qq_43412960 谢谢
6 个月之前 回复

C++的stl有命名空间的,使用string要加上std::string或者在#include下边加上.

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

using namespace std;

void main()
{
    int a = 2;
    string b = "s";
    printf("%d", a);
    printf("%s", b.c_str());
}

注意: 使用C++的string需要包含头文件#include <string> 是不带.h的.

infoworld
infoworld 回复qq_43412960: 可惜了, 先回答反而不采纳.
6 个月之前 回复
qq_43412960
qq_43412960 谢谢
6 个月之前 回复
infoworld
infoworld 回复qq_43412960: 我重新改了代码,你运行看看吧,还有string类的输出用printf要调用b.c_str().
6 个月之前 回复
infoworld
infoworld 回复qq_43412960: 你用的c++的string, 需要包含的头文件是不带.h的,即#include <string>
6 个月之前 回复
qq_43412960
qq_43412960 我把问题重新修改了一下
6 个月之前 回复
qq_43412960
qq_43412960 谢谢 但还是不行
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问