#include <stdio.h>
void main()
{
int i;
scanf("%d", &i);
printf("%d\n", i);
return 0;
}
#include <stdio.h>
void main()
{
int i, j, k;
scanf("%d %d %d", &i, &j, &k);
printf("i = %d, j = %d, k = %d\n", i, j, k);
return 0;
}
#include <stdio.h>
void main()
{
char str[100];
scanf("%s", str);
printf("%s", str);
return 0;
}
编译运行:
$gcc string.c -o string ./string helloeveryone! helloeveryone! ./string hello everyone! hello从上面的测试来看,scanf函数不能接收空格,只能接收第一人空格前面的字符串。
#include <stdio.h>
void main()
{
char str[100];
gets(str);
printf("%s", str);
return 0;
}
编译一下:
$gcc string.c -o string /tmp/ccJxLa46.o: In function `main':输出gets函数不建议使用,因为gets函数不进行边界检查,容易发生越界发生错误。所以我们应该用fgets函数。
test.c:(.text+0x2a): warning: the `gets' function is dangerous and should not be used.
#include <stdio.h>
void main()
{
char str[100];
fgets(str, 100, stdin);
printf("%s", str);
return 0;
}
这样就没有问题了。