读书人

VS2010关于输入字符串代码出现的有关问

发布时间: 2013-01-08 14:02:14 作者: rapoo

VS2010关于输入字符串代码出现的问题
这个代码运行时出现报错

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define maxsize 100
int main()
{
char string1[maxsize]="\0",*s=string1;
char character;
printf("input the string1:");
scanf("%s",string1);
printf("input the charater:");
scanf("%c",&character);
system("pause");
return 0;
}

下面这个代码就正确
#include<string.h>
#include<stdlib.h>
#define maxsize 100
int main()
{
char string1[maxsize]="\0",*s=string1;
char character;
printf("input the charater:");
scanf("%c",&character);
printf("input the string1:");
scanf("%s",string1);
system("pause");
return 0;

为什么会出现这种情况?
[解决办法]
scanf("%s",string1);
后面加上fflush(stdin);
[解决办法]
scanf("%*[\n]%c",&character);

输入字符前,先把所有的回车符号过滤掉。

读书人网 >C语言

热点推荐