如题所述
使用"%s"模式输出
但是这样做有限制:
char str[255];
用scanf("%s",str);获得输入时,最多容纳254个字符,因为读入操作会在后面加个"\0";
用printf("%s",str); 输出时,数组一定要是用"\0"结束的。
不遵守以上规则会产生数组越界,导致不可知的错误。
但是这样做有限制:
char str[255];
用scanf("%s",str);获得输入时,最多容纳254个字符,因为读入操作会在后面加个"\0";
用printf("%s",str); 输出时,数组一定要是用"\0"结束的。
不遵守以上规则会产生数组越界,导致不可知的错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-10-01
#include <stdio.h> // 要include这个头文件
int main() {
char s[100]; // 要定义足够长!
scanf("%s", s); // 注意传入的是s,而不像int、double等传的&a&b的格式。
}追问
int main() {
char s[100]; // 要定义足够长!
scanf("%s", s); // 注意传入的是s,而不像int、double等传的&a&b的格式。
}追问
这个遇到空格怎么办啊?输出的时候呢?谢谢
追答scanf("%s", s)这种方式输入,如果你输入的字符串开头有若干空格,都会忽略,一旦有非空格输入了,再碰到空格就是输入结束了。变量s会得到用空格隔开的第一个字符串。
输出的时候注意和其他格式一样
printf("%s", s) // 注意传入的是s
那这种输入方式是不是就不能输入带空格的了?
追答是的,不能输入空格
本回答被提问者和网友采纳第2个回答 2013-12-09
如#include“stdio.h”
main()
{
int a【5】;
printf("请输入5个数:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("%d",a[i]);
}都是在英文半角情况下输入
main()
{
int a【5】;
printf("请输入5个数:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("%d",a[i]);
}都是在英文半角情况下输入
第3个回答 2013-12-09
#include <stdio.h>
int main()
{
char s[100]; // 要定义足够长的数组,以放下输入的字符串,输入的字符串如果超出长度会出错!
scanf("%s", s); // 注意传入的是s,而不像int、double等传的&a&b的格式。
//gets(s);也可以用gets输入
}追问
int main()
{
char s[100]; // 要定义足够长的数组,以放下输入的字符串,输入的字符串如果超出长度会出错!
scanf("%s", s); // 注意传入的是s,而不像int、double等传的&a&b的格式。
//gets(s);也可以用gets输入
}追问
用SCANF怎么输入
追答scanf("%s", s)
追问那个有空格呢??用scanf就会停止了,,怎么办啊
追答那就用gets,遇到回车停止
第4个回答 2013-12-09
char类型的输入getchar
输出putchar
注意字符类型,别用错了
输出putchar
注意字符类型,别用错了