当前位置: 首页 > article >正文

1.1 C语言之入门:使用Visual Studio Community 2022运行hello world

1.1 使用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函数

至此,总算是运行成功了
在这里插入图片描述

四、练习

  1. 在你自己的系统中运行“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”的前面)
  1. 做个实验,当printf函数的参数字符串中包含\c时,观察一下会出现什么情况

在这里插入图片描述
在C语言中,反斜杠C(\c)并没有特殊的含义,它并不是一个有效的转义字符。如果在代码中使用了"\c",编译器通常会发出警告,因为它可能并不是你想要的结果。


http://www.kler.cn/a/145795.html

相关文章:

  • element el-table合并单元格
  • 【STM32-学习笔记-11-】RTC实时时钟
  • Decode Global专注金融创新,构建便捷的交易平台
  • 65,【5】buuctf web [SUCTF 2019]Upload Labs 2
  • PyCharm+RobotFramework框架实现UDS自动化测试- (四)项目实战0x10
  • 解决npm install安装出现packages are looking for funding run `npm fund` for details问题
  • Kotlin应用——使用kt进行web开发 使用h2database进行初始化数据库 mybatis-plus使用
  • 单片机调试技巧--修改bin文件实现断点
  • pytorch分布式训练
  • 【youlai-boot 】 Spring Boot 3 + Vue 3 前后端分离权限管理系统说明文档
  • 枚举的第一行
  • linux部署jar 常见问题
  • Postgresql WAL日志解析挖掘(walminer 3.0)
  • 基于Python实现汽车销售数据可视化+预测【500010086.1】
  • css Vue尺子样式
  • Spring Boot 项目中读取 YAML 文件中的数组、集合和 HashMap
  • 基于单片机的智能鱼缸(论文+源码)
  • 从零开始学习管道:管道程序的优化和文件描述符继承问题
  • 如何将 Python 运用到实际的测试工作中
  • 计算机毕业设计 基于SpringBoot的物业管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 基于OpenCV+MediaPipe的手势识别
  • 【搜维尔科技】产品推荐:Virtuose 6D RV,大型工作空间触觉设备
  • mac rancher desktop 修改docker镜像源
  • 精进:简单聊聊华为战略与DSTE
  • JSP EL表达式之 empty
  • CANdelaStudio 使用教程5 编辑DID