求解单片机c语言
答案:1 悬赏:10 手机版
解决时间 2021-03-28 02:37
- 提问者网友:富士山上尢
- 2021-03-27 20:35
求解单片机c语言
最佳答案
- 五星知识达人网友:愁杀梦里人
- 2021-03-27 22:08
# include //int char 输入容易出问题 下面的代码可以解决这个问题
# define N 10 //如果要录入X个字节则 N=X
int Getchar(char A[],int min,int max);//直到用户输入的字符串长度在[min,max]之间时 函数结束 返回字符串A的长度
int gainint(int *p,int a,int b);
int main(){
char A[N+1];//最后一位存''
int L,min,max;
do{
printf("请输入字符串的长度的最小值[0,%d]:",N);
gainint(&min,0,N);
printf("请输入字符串的长度的最大值[%d,%d]:",min,N);
gainint(&max,min,N);
printf("请输入字符串[%d,%d]:",min,max);
Getchar(A,min,max);
# define N 10 //如果要录入X个字节则 N=X
int Getchar(char A[],int min,int max);//直到用户输入的字符串长度在[min,max]之间时 函数结束 返回字符串A的长度
int gainint(int *p,int a,int b);
int main(){
char A[N+1];//最后一位存''
int L,min,max;
do{
printf("请输入字符串的长度的最小值[0,%d]:",N);
gainint(&min,0,N);
printf("请输入字符串的长度的最大值[%d,%d]:",min,N);
gainint(&max,min,N);
printf("请输入字符串[%d,%d]:",min,max);
Getchar(A,min,max);
printf("字符串:%s
",A);}while(1);
return 0;
}
int gainint(int *p,int a,int b)//输入int *p直至满足(a,b)输入结束,并返回*p的位数
{
do{
*p=a-1; //此处是为了减少意外情况的发生 虽然那种意外情况不常见
scanf("%d",p);
while(getchar()!='
'); if(*p>b||*pprintf("输入有误,请重新输入[%d--%d]:",a,b);
}while(*p>b||*preturn *p;
}
int Getchar(char *A,int min,int max)//长度在[min,max] <闭区间> 之间时 函数结束 返回字符串A的长度
{
int B,C;
do{
A[max]=B=C=0;
while((A[B++]=getchar())!=' printf("您录入的字符串长度:%d字节
'&&B
')while(getchar()!='
'&&++C); else A[--B]=0;
if(C||B&&B
只录入(%d--%d)个字节!
",B+C,min,max); }while(C||B
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯