我是靠谱客的博主 刻苦御姐,最近开发中收集的这篇文章主要介绍Orion的C语言学习之旅02,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

制作一个两个数字的加法器

#include <stdio.h>

int main()
{
	int num1 = 0;
	int num2 = 0;
	int sum =0;
	scanf_s("%d%d", &num1, &num2);
	sum = num1 + num2;
	printf("sum=%dn", sum);
	return 0;
}

如果这里scanf_s函数改成C语言提供的scanf函数,那么在VS2022版本里面将会报错
在这里插入图片描述
VS2022提供了两种解决途径:
1.利用VS编译器给的scanf_s函数进行调用
2.在 CRT 中关闭这些函数的弃用警告,定义 _CRT_SECURE_NO_WARNINGS

但是途径1有个缺点在于,如果使用scanf_s函数,那么该代码将不具备可移植性,在别的编译器是不可读取的,因此建议使用途径2进行更改。
代码更改如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int num1 = 0;
	int num2 = 0;
	int sum =0;
	scanf("%d%d", &num1, &num2);
	sum = num1 + num2;
	printf("sum=%dn", sum);
	return 0;
}

2022.5.22
错误展示

#include <stdio.h>

int main()
{
	int num1 = 0;
	int num2 = 0;
	int sum = num1+num2;
	scanf_s("%d%d", &num1, &num2);
	printf("sum=%dn", sum);
	return 0;
}

这里的已经将num1与num2地址上的数值相加赋予了sum,则后面语句

scanf_s("%d%d", &num1, &num2);

新取两个num的地址过后并没有赋值给sum,故打印出来的sum值永远等于0。

最后

以上就是刻苦御姐为你收集整理的Orion的C语言学习之旅02的全部内容,希望文章能够帮你解决Orion的C语言学习之旅02所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部