【问题标题】:C in Visual Studio 2012 [closed]Visual Studio 2012 中的 C [关闭]
【发布时间】:2015-03-14 17:55:37
【问题描述】:

我们必须在“结构化编程”(Ansi C) 中准备一个关于C 在Visual Studio 中的用法 的演示文稿。我已经知道如何制作 C 文件并使用 C++ 编译器来运行它,但是我还没有找到 awnser 的地方还有一些问题。

例如:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main(void){

srand((unsigned int)time(NULL)); //seed for random number..
unsigned int ran = rand();

printf("Helloooo World");
printf("%u",ran);

getchar();
return 0;
}

在带有 vim 的 Linux 上它可以工作。但是使用 Visual Studio 我得到了错误: http://www.pic-upload.de/view-25860939/Capture.jpg.html

  1. 我的随机种子有问题。
  2. rand() 函数存在问题。

我认为这是因为我包含了函数,现在我的问题是 Visual Studio 拥有 C 的哪些函数,或者我必须更改哪些内容才能让我的程序在 Visual Studio 中运行?

我真的很高兴阅读一些答案。我希望我没有愚蠢地在这里找到答案.. :'D

【问题讨论】:

  • 我认为这可能是题外话,因为它与编程问题无关。
  • 欢迎来到 Stack Overflow!请拨打tour 并阅读How to Ask 了解我们对问题的期望。
  • 您的问题似乎与您尚未向我们展示的内容有关。例如,它谈到了“getchar(); 最后调用”。最后是什么?它询问某些程序包含哪些库。但是什么程序?
  • "standard" libraries: stdio.h, stdlib.h, time.h, string.h, unistd.h...停止。您如何得出.h 文件是libraries 的结论,更不用说是standard

标签: c visual-studio visual-studio-2012 ansi


【解决方案1】:

试试:

include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main(void){

    unsigned int ran;//<--- Declare ran here.

    srand((unsigned int)time(NULL)); //seed for random number..
    ran = rand(); ////<--- Use ran here (as before).

    printf("Helloooo World");
    printf("%u",ran);

    getchar();
    return 0;
}

Visual Studio 2012 尚不支持 C99。我的意思是它只有 12 年前!!!

编译 C 时必须在函数开头声明变量。

我知道!嘘!

【讨论】:

  • 烤羊肉串。 VS2013 支持语法。
  • @HansPassant 谢谢。我知道 2012 年没有。
【解决方案2】:

除了上面的正确答案。您还了解到:

  • 语言的标准定义的解释不同 所有人,包括工具供应商。
  • 标准有不同的版本。
  • 而且(如果您已阅读 cmets 并进行了一些背景研究)编译器使用的源代码中包含的头文件与用于构建可执行文件的库文件不同链接器。

您可能会得到一个很棒的演示文稿。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 2015-01-21
    • 2013-03-08
    相关资源
    最近更新 更多