基本的c程序不在Ubuntu中编译可靠

尊敬的问候,

这个基本的C程序不能在Ubuntu trusty 14.04.1 LTS中编译。 编译行是gcc array.c -std = c99(循环的最后一个选项)。 我应该使用吗? 有没有一个iostream的C(而不是C ++)?

#include <stdio.h>
#include <stdlib.h>
  using namespace std;
  int main(void)
{
  int array[8];
  for(int x=0;x<8;x++)
  {
    std::cin>>array[x];
  }
  for(int x=0;x<8;x++)
  {
    std::cout<<array[x];
  }
  return 0;
}

我得到的错误信息是

array.c:3:3: error: unknown type name ‘using’
   using namespace std;
   ^
array.c:3:19: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘std’
   using namespace std;
                   ^
array.c: In function ‘main’:
array.c:9:9: error: expected expression before ‘:’ token
     std::cin>>array[x];
         ^
array.c:13:5: error: duplicate label ‘std’
     std::cout<<array[x];
     ^
array.c:9:5: note: previous definition of ‘std’ was here
     std::cin>>array[x];
     ^
array.c:13:9: error: expected expression before ‘:’ token
     std::cout<<array[x];
         ^

谢谢


这不是一个C程序,它是一个C ++程序。 将文件重命名为array.cpp和/或使用g++而不是gcc ,并且不,在C中没有iostream这样的东西。

程序中的第一个非C部分是

using namespace std;

C中没有namespace

第二部分是

std:cin>>array[x];

有两件事情是错误的,首先为什么using namespace std; 然后std::cin如果你在C ++中using namespace ,这意味着它将在被忽略时在那个命名空间中查找,其次是C ++特定的。 C中没有流操作符

你包含了stdio.h所以你必须使用fgets或类似的函数。 并用于输出printf系列

链接地址: http://www.djcxy.com/p/86317.html

上一篇: Basic c program not compiling in Ubuntu trusty

下一篇: Can someone explain this to me?