读书人

为什么小弟我用printfscanf代替puts

发布时间: 2012-11-15 15:16:15 作者: rapoo

为什么我用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);

读书人网 >C语言

热点推荐