使用Visual Studio Community 2022运行c语言的hello world
- 一、下载安装Visual Studio Community 2022 与 新建项目
- 二、编写c helloworld
- 三、编译、链接、运行 c helloworld
- 1. 问题记录:无法打开源文件"stdio.h"
- 2. 问题记录:调试和执行按钮是灰色的,无法运行程序
- 3. 问题记录:错误 LNK2005 main 已经在 hello.obj 中定义
- 四、练习
一、下载安装Visual Studio Community 2022 与 新建项目
下载地址
参考文章
二、编写c helloworld
// 源文件名 hello.c
#include <stdio.h> // 引入标准输入输出库头文件
// main函数,程序执行的入口
int main()
{// main函数的语句都被括在花括号中
printf("你好哈"); // main函数调用库函数printf打印字符串
return 0;
}
三、编译、链接、运行 c helloworld
1. 问题记录:无法打开源文件"stdio.h"
同问题2一样处理
2. 问题记录:调试和执行按钮是灰色的,无法运行程序
vs少安装了开发工具,其实问题1也是这个原因导致的,工具->获取工具与功能->下载安装->重新创建项目
重新创建项目,选择控制台应用或者空项目
3. 问题记录:错误 LNK2005 main 已经在 hello.obj 中定义
解决办法
注意:在c语言中,一个项目可以有多个.c文件,但是只能有一个main函数
至此,总算是运行成功了
四、练习
- 在你自己的系统中运行“hello world”程序。再有意去掉程序中的部分内容,看看会得到什么出错信息
#include <stdio.h>
int main()
{
printf("Hello world");
return 0;
}
- 去掉#include一行
错误信息:错误 LNK2019 无法解析的外部符号 printf,函数 main 中引用了该符号 - 去掉int和return 0一行
程序正常执行 - 修改main函数名称
错误信息:错误 LNK2019 无法解析的外部符号 main,函数 “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ) 中引用了该符号 - 去掉printf一行的分号;
错误信息:错误 C2143 语法错误: 缺少“;”(在“return”的前面) - 换行printf的参数字符串
错误信息:
错误 C2001 常量中有换行符
错误 C2143 语法错误: 缺少“)”(在“return”的前面)
- 做个实验,当printf函数的参数字符串中包含\c时,观察一下会出现什么情况
在C语言中,反斜杠C(\c)并没有特殊的含义,它并不是一个有效的转义字符。如果在代码中使用了"\c",编译器通常会发出警告,因为它可能并不是你想要的结果。