注册 登录
编程论坛 C++教室

为什么我输入AA后就结束了,而不让我输入BB呢,求大神讲解~~~~

s524250262 发布于 2015-06-12 10:33, 678 次点击
#include <stdio.h>
struct creditCard
{
  int cardNo;  
  char name;   
  char ID;      
  char password[20];
  int  flag;      
  float account;     
  int integral;      
}CCard;
int main ()
{
      printf("请输入AA");
scanf("%c",&CCard.name);
      printf("请输入BB");
scanf("%c",&CCard.ID);
      printf("%c%c",CCard.name,&CCard.ID);
return 0;
}
9 回复
#2
rjsp2015-06-12 11:17
有什么不对吗?
你输入哦AA,第一个A被scanf("%c",&CCard.name)拿走,第二个A被scanf("%c",&CCard.ID)拿走
#3
苍穹之舞2015-06-12 16:02
以下是引用rjsp在2015-6-12 11:17:01的发言:

有什么不对吗?
你输入哦AA,第一个A被scanf("%c",&CCard.name)拿走,第二个A被scanf("%c",&CCard.ID)拿走

这个解释不对吧?
#4
yangfrancis2015-06-12 17:50
回复 楼主 s524250262
你倒是说说最后一条printf有没有执行?如果执行了,显示的是什么?
#5
WC3572015-06-12 21:47
你定义的变量的类型是char,所以就会出现2#说的情况,把定义的结构中的char类型改成string试试
#6
s5242502622015-06-13 16:16
回复 2楼 rjsp
能显示第二个printf然后程序就结束了
#7
s5242502622015-06-13 16:17
回复 4楼 yangfrancis
只有本站会员才能查看附件,请 登录
#8
诸葛欧阳2015-06-13 22:56
请认真看二楼,而且你的printf里加个&干嘛
#9
wmf20142015-06-14 07:57
嗯,%c只接受一个字符。
#10
s5242502622015-06-15 08:44
回复 9楼 wmf2014
哪怎么办?我想要一个字符串
1