资源描述:
《c语言字符及字符串的输入》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、/*#include#includeintmain(){chara[100];chark,k2;inti,loc;printf("请输入字符串:");scanf("%s",a);getchar();printf("请输入要插入的字符:");scanf("%c",&k);printf("请输入要插入的位置:");scanf("%d",&loc);getchar();scanf("%c",&k2);printf("你刚才输入的字符串为:%s要插入的字符为:%c插入位置为:%d
2、最后输入那个字符为:%c",a,k,loc,k2);//getch();return0;}*//*#include#includeintmain(){chara[100];chark,k2;inti,loc;printf("请输入字符串:");scanf("%s",a);fflush(stdin);printf("请输入要插入的字符:");scanf("%c",&k);printf("请输入要插入的位置:");scanf("%d",&loc);fflush(stdin);
3、scanf("%c",&k2);printf("你刚才输入的字符串为:%s要插入的字符为:%c插入位置为:%d最后输入那个字符为:%c",a,k,loc,k2);//getch();return0;}*//*#include#includeintmain(){chara[100];chark,k2;inti,loc;printf("请输入字符串:");scanf("%s",a);printf("请输入要插入的字符:");scanf("%c",&k);printf("
4、n请输入要插入的位置:");scanf("%d",&loc);scanf("%c",&k2);printf("你刚才输入的字符串为:%s要插入的字符为:%c插入位置为:%d最后输入那个字符为:%c",a,k,loc,k2);//getch();return0;}*//*#include#includeintmain(){chara[100];chark,k2;inti,loc;scanf("%s%c%d",a,&k,&loc);getchar();scanf("%c",&
5、k2);//或将上述三行合一为:scanf("%s%c%d%c",a,&k,&loc,&k2);printf("你刚才输入的字符串为:%s要插入的字符为:%c插入位置为:%d最后输入那个字符为:%c",a,k,loc,k2);getch();return0;}*/#include#includeintmain(){chara[100];chark,k2;inti,loc;scanf("%s%c%d%c",a,&k,&loc,&k2);printf("你刚才输入的字符串为:
6、%s要插入的字符为:%c插入位置为:%d最后输入那个字符为:%c",a,k,loc,k2);getch();return0;}/*小结scanf是从标准输入缓冲区中读取输入的数据,而使用%c的字符输入格式会接收回车字符,在输入第一个scanf时输入字符后按回车结束,输入缓冲中保存了这个回车符,遇到第二个scanf时,它自动把这个回车符赋给了k。而如果第二个scanf的输入格式不是%c时,由于格式不匹配,这个回车符会被自动忽略。所以只有在连续输入两个字符格式时才会出现这样的问题!解决办法:(四法任选其一)1.
7、第二个和第四个scanf前加入语句:getchar();2.第二个和第四个scanf前加入语句:fflush(stdin);//C语言清空输入缓冲区函数3.格式控制中加入空格,即将第二个和第四个scanf分别改为:scanf("%c",&k);和scanf("%c",&k2);//在%号前面加一个空格scanf格式输入时要求输入格式与格式控制符中的完全一样。如:scanf("abcd%c",&k);输入时必须输入abcde,ch得到的值为e)空格可以抵消前面输入的回车符。4.将几行合一:scanf("%s%c%d%c",a
8、,&k,&loc,&k2);*/