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

news/2024/4/15 7:40:57

使用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.ppmy.cn/news/1236090.html

相关文章

12个最佳WordPress投票插件

您是否正在为您的网站寻找WordPress投票插件&#xff1f; WordPress投票插件可让您轻松地在您的网站上进行民意调查&#xff0c;用户可以投票。这是在收集见解的同时建立用户参与度的有效策略。 在本文中&#xff0c;我们精心挑选了最好的WordPress投票插件&#xff0c;可帮助…

探讨工业元宇宙和数字孪生的关系

就在各类技术专家还在试图设想元宇宙虚拟世界将为企业和消费者带来什么时&#xff0c;工业元宇宙虚拟世界已经在改变人们设计、制造以及与各行业物理实体互动的方式。尽管元宇宙的定义比比皆是&#xff0c;工业元宇宙将如何发展还有待观察&#xff0c;但数字孪生越来越多地被视…

OmniGraffle

安装 在mac上安装OmniGraffle&#xff0c;找一个正版或者啥的都行&#xff0c;安装好后&#xff0c;可以直接在网上找一个激活码&#xff0c;然后找到软件的许可证&#xff0c;进行添加即可。 使用 新建空白页 然后图形啥的看一眼工具栏就知道了&#xff0c;颜色形状还是挺…

Echarts在vue3中的使用

这只是一个简单的运用 首先安装 npm i echarts 引入需要的东西 import axios from "axios"; import { ref,onMounted } from "vue"; import * as echarts from echarts; template部分 <template><div class"home"><div id&qu…

Linux快速显示文件行号并跳转

有时候&#xff0c;想要在线上直接查看日志文件&#xff0c;搜索到关键词后&#xff0c;如果一直按n找下去&#xff0c;很麻烦&#xff0c;我们可以先显示出行号&#xff0c;确定好我们要找内容对应的行号&#xff0c;直接跳转过去。 esc进入命令模式&#xff0c;输入:set nu命…

HCIP --- HCIA(部分汇总)--- 点对点网络

抽象语言 --- 电信号 抽象语言 --- 编码 编码 --- 二进制 二进制 --- 电信号 处理电信号 OSI/RM ---- 开放式系统互联参考模型 --- 1979 --- ISO --- 国际标准化组织 核心思想 --- 分层 应用层 --- 提供各种应用程序&#xff0c;抽象语言转换成编码&#xff0c;人机交互…

读书笔记——《黑猩猩的政治》

前言 弗朗斯德瓦尔&#xff08;Frans de Waal)的代表作《黑猩猩政治》成书于1982年&#xff0c;是它的首部书籍作品&#xff0c;也是美国国会新任议员的被推荐读物。之前看的他另一部作品的《万智有灵》是2016年的作品&#xff0c;时间跨度居然这么大。《万智有灵》介绍了许多…

JavaWeb——感谢尚硅谷官方文档

JavaWeb——感谢尚硅谷官方文档 XML一、xml简介二、xml的语法1、文档申明2、xml注释3、xml元素4、xml属性5、xml语法规则 三、xml解析技术1、使用dom4j解析xml Tomcat一、JavaWeb的概念二、web资源的分类三、常见的web服务器四、Tomcat的使用1、安装2、Tomcat的目录介绍3 启动T…

【腾讯云云上实验室-向量数据库】腾讯云VectorDB:深度学习场景下的新一代数据存储方案

引言 ​  在深度学习领域的实践中&#xff0c;一般会涉及到向量化处理的数据&#xff0c;如图像、文本、音频等&#xff0c;这些数据的存储和检索对于许多深度学习任务至关重要。传统的关系型数据库和NoSQL数据库在存储和检索这类大规模向量数据时&#xff0c;通常不能满足高…

如何设置实现本地JumpServer远程访问管理界面

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 4A 规范的专业运维安全审计系统。JumpS…

飞翔的小鸟游戏

GameApp类 package App;import main.GameFrame;public class GameApp {public static void main(String[] args) {//游戏的入口new GameFrame();} } main Barrier 类 package main;import util.Constant; import util.GameUtil;import java.awt.*; import java.awt.image.Buf…

Codeforces Round 745 (Div. 2)(C:前缀和+滑动窗口,E:位运算加分块)

Dashboard - Codeforces Round 745 (Div. 2) - Codeforces A&#xff1a; 答案就是2n!/2, 对于当前满足有k个合法下标的排列&#xff0c;就是一个n-k个不合法的下标的排列&#xff0c; 所以每一个合法排列都相反的存在一个 对称性 #include<bits/stdc.h> using nam…

【20年扬大真题】试写一算法在带头结点的单链表结构上实现线性表操作LENGTH(L)

【20年扬大真题】 试写一算法在带头结点的单链表结构上实现线性表操作LENGTH&#xff08;L&#xff09;。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdbool.h> #include<malloc.h> //单链表定义 //链表结点 int A[10] { 1,2,3,4,5,6,…

kubesphere安装依赖文件

yum install socat -y yum install conntrack -y

【nowcoder】BM2 链表内指定区间反转

题目 题目分析&#xff1a; # 代码实现&#xff1a; package BMP2;class ListNode {int val;ListNode next null;public ListNode(int val) {this.val val;} } public class BM2 {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法…

蓝桥杯官网练习题(天干地支)

题目描述 古代中国使用天干地支来记录当前的年份。 天干一共有十个&#xff0c;分别为&#xff1a;甲&#xff08;jiǎ&#xff09;、乙&#xff08;yǐ&#xff09;、丙&#xff08;bǐng&#xff09;、丁&#xff08;dīng&#xff09;、戊&#xff08;w&#xff09;、己&a…

OpenStack云计算平台-计算服务

目录 一、计算服务概览 二、安装并配置控制节点 1、先决条件 2、安全并配置组件 3、完成安装 三、安装和配置计算节点 1、安全并配置组件 2、完成安装 四、验证操作 一、计算服务概览 使用OpenStack计算服务来托管和管理云计算系统。OpenStack计算服务是基础设施即服务…

CUDA API学习

1. nvtxNameCudaStream 在 NVIDIA Tools Extension (NVTX) 中,nvtxNameCudaStream 函数用于为 CUDA 流(stream)设置一个用户定义的名称,以便在可视化工具中更好地理解 CUDA 流的作用。该函数允许你将一个可读的字符串关联到 CUDA 流,从而在可视化工具中标识和跟踪不同的流…

大数据-之LibrA数据库系统告警处理(ALM-25004 LdapServer数据同步异常)

告警解释 当Manager中LdapServer数据内容不一致时&#xff0c;产生该告警&#xff0c;当两者的数据一致时&#xff0c;对应告警恢复。 当集群中LdapServer与Manager中的LdapServer数据内容不一致时&#xff0c;产生该告警&#xff0c;当两者的数据一致时&#xff0c;对应告警…

Selenium介绍及基本使用方法

Selenium是一个开源、免费、简单、灵活&#xff0c;对Web浏览器支持良好的自动化测试工具&#xff0c;在UI自动化、爬虫等场景下是十分实用的&#xff0c;能够熟练掌握并使用Selenium工具可以大大的提高效率。 Selenium简介 Selenium支持多平台、多浏览器、多语言去实现自动化…
最新文章