首页 > 其他分享 >C6064:缺少“scanf_s”的整型参数(对应于转换说明符“2”

C6064:缺少“scanf_s”的整型参数(对应于转换说明符“2”

时间:2023-09-01 20:31:58浏览次数:50  
标签:C6064 letters name weight scanf 说明符 printf your

问题描述

// talkback.c -- 演示与用户交互
#include <stdio.h>
#include <string.h> // 提供strlen()函数的原型
#define DENSITY 62.4 // 人体密度(单位:磅/立方英尺)
int main()
{
	float weight, volume;
	int size, letters;
	char name[40] = {0}; /* 声明字符串name, name是一个可容纳40个字符的数组 */
	printf("Hi! What's your first name?\n");
	scanf_s("%s", name);
	printf("%s, what's your weight in pounds?\n", name);
	scanf_s("%f", &weight);
	size = sizeof name;
	letters = strlen(name); /* strlen()函数的使用 */
	volume = weight / DENSITY;
	printf("Well, %s, your volume is %2.2f cubic feet.\n", name, volume);
	printf("Also, your first name has %d letters,\n", letters);
	printf("and we have %d bytes to store it.\n", size);
	return 0;
}

以上是源代码,大家可以试着运行,我调试并没有报错,并也出现了弹窗,但运行的结果视乎纯在问题,判断不正常情况理由。程序目的是实现与用户的交互,代码中使用两次scanf_s()输入函数,所以用户应当输入两次,实现两次交互效果,请看下面调试输出图:

C6064:缺少“scanf_s”的整型参数(对应于转换说明符“2”_字符串

标签:C6064,letters,name,weight,scanf,说明符,printf,your
From: https://blog.51cto.com/u_16147979/7326131

相关文章

  • 笔记整理--C语言--sscanf()和sprintf()的用法总结——转载
    sscanf函数的高级用法sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。函数原型:intsscanf(constchar*format[,argument]...);其中的format可以是一个或多个:{%[*][width][{h|l|I64|L}]type|''|'\t'|'\n'|非%符号},注:*亦可用......
  • 宏,函数的比大小;scanf_s的看法;请教大神一个问题(最下方)(谢谢了)
    一个简简单单的宏,以宏的方式比大小#include<stdio.h>#defineMAX(x,y)(x>y?x:y)//define定义宏&一个三目intmain(void){intnum1=0;intnum2=0;scanf_s("%d%d",&num1,&num2);//一开始还不会用scanf_s,打了个下述代码,//运行后就不会了,忘记还要输入数字,所以那次以......
  • scanf在VS中报错
    为啥在VS中使用scanf,strcpystrlenstrcat等函数会有警告呢?scanf是c语言提供的函数,但函数本身自带安全性问题,微软工程师为了解决这些安全问题,在VS2013以上的版本上添加了scanf_s这类函数。scanf_svs编辑器提供的,虽然提高了安全性能,但移植性太差,故不建议使用。解决办法:1、打开......
  • C语言scanf指定字符串分隔符
    1.示例代码#include<stdio.h>intmain(intargc,char**argv){charstr[3][20];puts("inputastringsepratorwith\",\"\r\n");scanf("%[^,],%[^,],%s",str[0],str[1],str[2]);puts(str[0])......
  • 关于C语言中的《scanf》和《printf》函数的返回值
    一,scanfC语言中的scanf函数的返回值类型是int,表示你正确输入参数的个数代码如下:#include<stdio.h>intmain(){ inta=0; intb=0; intnum=scanf("%d%d",&a,&b); printf("num=%d\n",num); return0;}一,printfC语言中的printf函数的返回值类型是int,表......
  • while(~scanf(“%d“, &n))的含义
    canf("%d%d",&a,&b);如果a和b都被成功读入,那么scanf的返回值就是2;如果只有a被成功读入,返回值为1;如果a和b都未被成功读入,返回值为0;如果遇到错误或遇到endoffile,返回值为EOF,且返回值为int型。注:这里返回值为2,就是输入的a,b都匹配,返回值为1就是输入的a,b只有一个匹配,返回值为0就......
  • scanf
    //scanfXS.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"intmain(intargc,char*argv[]){ inti; charbuff[256]; printf("pleaseinputanintnumber:\n"); scanf("%x",&i);p......
  • VS中scanf()函数错误C4996的原因及解决办法
    实例:报错原因:这是因为在您的代码中使用了不安全的函数scanf。scanf函数可以读取用户输入的数据,但它无法检查输入数据是否符合要求,可能会导致缓冲区溢出等安全问题,简单来说就是输入字节的长度可能会超过接受变量的长度。解决方案:(1)使用scanf_s函数代替scanf函数。scanf_s函数与scanf......
  • 字符串转换数字,sscanf和sprintf大法
    题目链接:P1957口算练习题-洛谷|计算机科学教育新生态(luogu.com.cn)sscanf(str,"%d",&n)其实就是把str的内容以"%d"的格式写入到n中(从左到右)同理sprintf(str,"%d",n)就是把n以"%d"的格式写入到str(从右到左)#include<bits/stdc++.h>usingnamespacestd;constint......
  • vscode运行scanf,程序错误
    选择左上角文件->首选项(preferences)->设置(settings)1.在搜索中输入RunInTerminal并勾选 2.打开launch.json文件,externalConsoleg改为true ......