#include<stdio.h>intmain(){inta;int*p;charb;char*q;scanf("%d,%c",&a,&b);p=&a;q=&b;printf("%d\n",a);printf("%d\n",*p);printf("%c\n",b);printf("%c\n",*q);return0;当输入1,v...
#include<stdio.h>
int main()
{
int a;
int *p;
char b;
char *q;
scanf("%d,%c", &a,&b);
p = &a;
q = &b;
printf("%d\n", a);
printf("%d\n", *p);
printf("%c\n", b);
printf("%c\n", *q);
return 0;
当输入1,v时两个1能正常输出,但是v输出显示的是问号。当输入v,1时两个都能正常输出
这是为什么
我来说说我的观点吧:
scanf这个函数,本身就有返回值的,如果没有变量去接收返回的值,就会有这个警告的,因为函数有return返回的值,如:
int a;
scanf("%d", &a);
光这样写的话,它就会提示返回值被忽略了,但如果这样写:
int a, b;
b = scanf("%d", &a);
它就不会提示了,或者直接将 #pragma warning(disable:6031) 放到当前文件的顶部就行了,就像#include那样,括号里的数字填警告的数字就行了,以后遇到其他只在vs遇到的警告,直接照搬就行了(但那种直接提示“错误”error 的就别这样,只适用这种警告warning)
(#pragma是预处理命令的一种)