Basic c program not compiling in Ubuntu trusty

Respectful greetings,

This basic C program does not compile in Ubuntu trusty 14.04.1 LTS. The compile line is gcc array.c -std=c99 (the last option for loops). Should I be using ? Is there an iostream for c (and not 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;
}

The error message I get is

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];
         ^

Thanks


This is not a C program, it is a C++ program. Rename your file to array.cpp and/or use g++ instead of gcc , and no, there is no such thing as iostream in C.

The first non-C part of your program is

using namespace std;

there is no namespace s in C.

the second part is

std:cin>>array[x];

there are two things wrong with it, first of all why do using namespace std; and then std::cin if you use using namespace in C++ it means that it will lookup in that namespace when omited, secondly that is also C++ specific. There is no stream operator in C.

You included stdio.h so you have to use fgets or similar functions. And for output the printf family

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

上一篇: 什么是轨道中的NoMethodError?

下一篇: 基本的c程序不在Ubuntu中编译可靠