【问题标题】:Writing a Basic "C" Program in Mac Terminal在 Mac 终端中编写基本的“C”程序
【发布时间】:2014-01-27 22:47:05
【问题描述】:

我很好奇是否可以在 Mac 终端中编写 C 程序。似乎是的,但是当我开始尝试使用字符串时,编译时出现错误。

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

int main(void) {
        string s = "chris";
        printf("hello %s \n", s);
}

当我编译这个时,我收到一条消息说use of undeclared identifier 'string' - string s = "chris";

我尝试添加using namespace std;,但据说using 未定义。 #include &lt;string&gt;#include &lt;string.h&gt; 我都试过了

任何想法将不胜感激。

【问题讨论】:

  • C 中没有“string”;听起来你在混合 C 和 C++ 概念。
  • 而在 C++ 中,您可以使用 #include &lt;string&gt; 来使用 std::string。但最重要的是,不要尝试随意写 C 或 C++,先给自己准备一本书。

标签: c macos terminal


【解决方案1】:

string 是标准 C++ 库类。请改用const char *

#include <stdio.h>

int main(int argc, const char **argv) {
        const char *s = "chris";
        printf("hello %s \n", s);
        return 0;
}

【讨论】:

  • 嗯,好的。我正在关注一个在线课程,他们说他们正在使用“C”并且他们正在使用字符串,也许我的线在某个地方被越过了。
  • @Chris 好吧,除非您在main() 之前执行typedef const char *string;,否则我认为您的线路已经交叉。如果他们使用 C++,那么 printf() 中的 %s 将中断,您通常使用 std::cout 而不是 C++。
  • 即使你做了typedef,string是C中的保留标识符,所以还是会出错。
猜你喜欢
  • 2014-12-16
  • 2013-12-18
  • 1970-01-01
  • 2015-11-18
  • 2015-11-03
  • 2011-12-18
  • 2011-07-27
  • 2016-02-17
  • 2014-12-12
相关资源
最近更新 更多