1、输入若干个字符,组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串
main()
{ char str[81],*pptr;
int i;
scanf(“%s”,a);
for(i=0;i<80;i++)
{ str[i]=getchar();if(str[i]==’\n’)break;}
str[i]=_____;
sptr=str;
while(*sptr) putchar(*sptr________);
getch();
}
2、输入一个由正整数组成的字符串,将其转换成对应正整数然后输出
main()
{ char a[20],*p=a;
long x=0L;
scanf(“%s”,a);
while(*p!=’\0′)
______________________
printf(“%ld\n”,x);
getch();
}
中间的空格要怎么填呀
>> 本文固定链接: http://www.vcgood.com/archives/2889
第一个题目为什么会冒出这么一句呢?scanf(“%s”,a);
下面不是已经有getchar()了吗,为啥还要加多scanf(“%s”,a);?
第二个题目,数组数据的输入不是”scanf(“%s”,&a);”这样的吧?
应该还要在前面加一句循环for(i=1;i<=20;i++)
我是菜鸟,题目看不明白,望高手解释一下~~谢谢
1、输入若干个字符,组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串
main()
{ char str[81],*pptr;
int i;
for(i=0;i<80;i++)
{ str[i]=getchar();if(str[i]==’\n’)break;}
str[i]=_____;
sptr=str;
while(*sptr) putchar(*sptr________);
getch();
}
第一题是这样的,,没有 scanf(“%s”,a); 第二题就是那样的,,所以我也是看不明白,,可是书上就是这样的呀,,,
2、输入一个由正整数组成的字符串,将其转换成对应正整数然后输出
main()
{ char a[20],*p=a;
long x=0L;
scanf(“%s”,a);
while(*p!=’\0′)
{ x=x*10+*p-48;
p++;
}
printf(“%ld\n”,x);
getch();
}
这样就OK
1、输入若干个字符,组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串
main()
{ char str[81],*pptr;
int i;
scanf(“%s”,a);
for(i=0;i<80;i++)
{ str[i]=getchar();if(str[i]==’\n’)break;}
str[i]= ‘\0′;
sptr=str;
while(*sptr) putchar(*sptr++);
getch();
}
搞定
x=x*10+*p-48;
不明白什么意思呀,,能不能说的清楚一点,谢谢
P是指向字符的指针,*p-48,其中48中0的ASCII码,这一步将字符0到9转为数字0到9,