这个小程序看不懂??/??急!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:29:01
//判断所输入的字符串是否是数字字符串
#include<stdio.h>
#include<string.h>
void main(){
char *p1="01234567890";
char *P1_Start;
P1_Start=p1;
char a[100];
char *p2=&a[0];
char flag='0';
printf("请输入待处理的字符串\n");
gets(a);
while(*p2!='\0')
{
p1=P1_Start;
flag='0';
while(*p1!='\0')
{
if(*p2=*p1)
{
flag='1';
break;
}
p1++;
}
if(flag='0')
break;
p2++;
}
if(flag=='1')
printf("所输入的字符串为纯字符串");
else
printf("所输入的字符串不是纯数字串");
}

1.flag 是做什么用的??
2.P1_Start=p1是什么意思 麻烦加一下详细的注释吧
越详细越好!有加分,谢谢了

在线等

#include<stdio.h>
#include<string.h>
void main(){
char *p1="01234567890"; /*定义字符指针并将字符串“01234567890”的首地址赋于指针p1*/
char *P1_Start; /*定义字符指针P1_Start*/
P1_Start=p1; /*将指针p1的首地址赋于P1_Start*/
char a[100]; /*定义字符数组,a[100]*/
char *p2=&a[0]; /*定义指针p2并将数组a的首地址赋于p2*/
char flag='0'; /*定义字符flag,并赋初值'0'*/
printf("请输入待处理的字符串\n");
gets(a); /*输入要处理的字符串*/
while(*p2!='\0') /*当p2所指向的字符不等于0就循环*/
{
p1=P1_Start;
flag='0'; /*初始赋值*/
while(*p1!='\0') /*当p1所指向的字符不等于0就循环*/
{
if(*p2=*p1) /*如果p2所指向的字符等于p1所指向的字符就执行下面的语句,也就是flag="1"。这里有点问题,应改为*p2==*p1*/
{
flag='1';
break;
}