输入9876543210后执行结果是_输入为98└┘76└┘543210 后执行结果是_若输入为987654└┘3210后执行结果

#include ”stdio.h”
main()
{
int x1,x2; char y1,y2;
scanf(”%2d%3d%3c%c”,&x1,&x2,&y1,&y2);
printf(”x1=%d,x2=%d,y1=%c,y2=%c\n”,x,y);

你的程序是错误的

#include "stdio.h" 

main() 

 int x1,x2;  char y1,y2;   

scanf("%2d%3d%3c%c",&x1,&x2,&y1,&y2);  

printf("x1=%d,x2=%d,y1=%c,y2=%c\n",x1,x2,y1,y2);

}


不会的问 我解释结果

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-22

你的源代码有问题 帮你修改了一下

#include <stdio.h>

main() 



 int x1,x2; 

 char y1,y2;

 for(int i=0;i<3;i++)

 {

  scanf("%2d%3d%3c%c",&x1,&x2,&y1,&y2);  

  printf("x1=%d,x2=%d,y1=%c,y2=%c\n",x1,x2,y1,y2);

 }

}

第2个回答  2014-05-22
程序是不安全的……
第一个:x1=98 x2 = 765 y1 = 4 y2 = 1
第二个:x1=98 x2 = 76 y1 = 空格 y2 = 3
第三个:x1 = 98 x2 = 765 y1 = 4 y2 = 2
但是,一般执行中会报错,因为 你给y1赋了一个字符串,执行过程中无法把字符串强转成一个字符型的数字,虽然他会显示出上述结果,但是会引发程序崩溃。

...后执行结果是_若输入为987654└┘3210后执行结果
你的程序是错误的 include "stdio.h"main(){ int x1,x2; char y1,y2;scanf("%2d%3d%3c%c",&x1,&x2,&y1,&y2);printf("x1=%d,x2=%d,y1=%c,y2=%c\\n",x1,x2,y1,y2);} 不会的问 我解释结果

c语言scanf输入,答案是什么?
更改后,我这里测试结果是:输入9876543210 输出: x1=98,x2=765,y1=4,y2=1 输入98 76 543210 输出: x1=98,x2=76,y1= ,y2=3 输入987654 3210 输出: x1=98,x2=76,y1=4,y2=2 以上输出都是符合scanf的输入处理逻辑的。

相似回答