c语言字符数组打印输出问题。
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#include<conio.h>
typedef struct
{
char word[200];
int length;
}message;
typedef struct lm
{
char name[8];
char phone[11];
struct lm *next;
}note,*Node;
void tongxunlu(char num[11])
{
note *linkman,*p;
Node l;
int i;
linkman=(note *)malloc(sizeof(note));
l=(Node)malloc(sizeof(note));
l->next=NULL;
linkman->next=l->next;
l->next=linkman;
strcpy(linkman->phone,num);
printf("添加的号码为:%s\n",linkman->phone);
printf("请输入联系人姓名:\n");
scanf("%s",linkman->name); //为什么这个打印输出手机号码后面带问号呢?打印电话号码则没有,求解答。
printf("已成功添加联系人!\n");
/*p=l->next;
while(p->next!=NULL)
{
printf("%s\n",p->name);
printf("%s\n",p->phone);
p=p->next;
}*/
}
void distinguish_num(char w[200])
{
char *p;
char t1[11];
int i,a;
int j,q;
char t[12];
p=w;
while(*p!=0)
{
i=0;q=0;
if(*p>='0'&&*p<='9')
{
j=1;
while(*p>='0'&&*p<='9')
{
t1[q]=*p;
p++;
j++;
q++;
}
printf("提取的号码为:");
if(j!=8&&j!=9&&j!=12)
exit(0);
switch(j)
{
case 12:
{
for(i=0;i<11;i++)
printf("%c",t1[i]);
strcpy(t,t1);
printf("是否保存手机号码到通讯录?1/0\n");
scanf("%d",&a);
if(a==0)break;
else {tongxunlu(t);break;}
}
case 8:
{
for(i=0;i<7;i++)
printf("%c",t1[i]);
strcpy(t,t1);
printf("是否保存电话号码到通讯录?1/0\n");
scanf("%d",&a);
if(a==0)break;
else {tongxunlu(t);break;}
}
case 9:
{
for(i=0;i<8;i++)
printf("%c",t1[i]);
strcpy(t,t1);
printf("是否保存电话号码到通讯录?1/0\n");
scanf("%d",&a);
if(a==0)break;
else {tongxunlu(t);break;}
}
}
}
p++;
for(i=0;i<11;i++)
t1[i]=0;
}
}
void outputmessage(char a[8],char b[11],char c[200])
{
printf("发信人:%s(%s)\n",a,b);
printf(" %s\n",c);
}
void manu()
{
printf("****************短信中电话号码的识别与提取使用说明***************\n\n");
printf("## 1. 输入收信人姓名及手机号码。 ##\n\n");
printf("## 2. 输入要发送的信息内容。 ##\n\n");
printf("## 3. 对信息的中电话号码添加到通讯录。 ##\n\n");
printf("## 4. 对信息的中手机号码添加到通讯录。 ##\n\n");
printf("## 5. 查看通讯录中所有联系人。 ##\n\n");
printf("********************制作团队:第十小组全体同学*******************\n");
}
void inputmessage()
{
int i=0,flg=0;
message m;
note n;
manu();
printf("请输入收信人姓名:\n");
scanf("%s",&n.name);
printf("请输入收信人手机号码:\n");
scanf("%s",&n.phone);
printf("请输入短信内容:\n");
scanf("%s",&m.word);
outputmessage(n.name,n.phone,m.word);
distinguish_num(m.word);
}
main()
{
inputmessage();
}