为什么小弟我用printf,scanf代替puts和gets程序的功能实现不了
为什么我用printf,scanf代替puts和gets程序的功能实现不了
#include<stdio.h>
#include<string.h>
void main()
{ char a[80],b[]="ab",max;
int i=1,j;
printf("Input a string\n");
gets(a); ....................../* 用scanf("%s",a)代替 */
max=a[0];
while(a[i]!='\0')
{ if(a[i]>max)
{max=a[i],j=i;}
i++;
}
for (i=strlen(a)+2;i>j;i--)
a[i]=a[i-2];
a[i+1]='a';a[i+2]='b';
puts(a); .........................../* 用printf("%s",a)代替 */
}
我用scanf和printf代替 程序运行不了
------解决方案--------------------
因为printf和scanf对应的是字符串,而gets和puts对应的是单个字符,相当于scanf("%c",&a),printf("%c",a).
------解决方案--------------------
printf("%s\n",a);
#include<stdio.h>
#include<string.h>
void main()
{ char a[80],b[]="ab",max;
int i=1,j;
printf("Input a string\n");
gets(a); ....................../* 用scanf("%s",a)代替 */
max=a[0];
while(a[i]!='\0')
{ if(a[i]>max)
{max=a[i],j=i;}
i++;
}
for (i=strlen(a)+2;i>j;i--)
a[i]=a[i-2];
a[i+1]='a';a[i+2]='b';
puts(a); .........................../* 用printf("%s",a)代替 */
}
我用scanf和printf代替 程序运行不了
------解决方案--------------------
因为printf和scanf对应的是字符串,而gets和puts对应的是单个字符,相当于scanf("%c",&a),printf("%c",a).
------解决方案--------------------
printf("%s\n",a);