#include
int main()
{
char str[50];
int a;
scanf("%s%d",str,&a,&a);
printf("str=%s\n",str);
printf("a=%d\n",a);
return 0;
}
你下面的代码我给你改了一下,把%s%d之间的空格去掉了,然后加了一个&a,通过两次赋值,消除缓冲中回车的干扰
char buf[200];
int i;
scanf("%s %d",buf,&i);
这样应该可以,注意字符串不能包含空格。
scanf()函数是个阻塞函数,只有等待你输完之后,才能把缓冲区中的数据交给内存。有可能是你的输入有问题,另外scanf()中一般不要有格式控制,他是个不安全的函数。
#include
int main()
{
char str[50];
int a;
scanf("%s %d",str,&a);
printf("str=%s\n",str);
printf("a=%d\n",a);
return 0;
}
请把你的程序贴上来,这样才能帮你解答,这样太宽泛了。错误之处有很多呢!