c语言中 那个格式控制字符串 可以输入数字和字符

如题所述

scanf():通过格式控制符%s输入字符串。除了字符串,scanf()还能输入其他类型的数据。scanf()读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。

gets():直接输入字符串,并且只能输入字符串。gets()认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格,只要不按下回车键,对gets()来说就是一个完整的字符串。换句话说,gets()用来读取一整行字符串。

扩展资料

scanf()和gets()的使用:

#include<stdio.h>

intmain(){

charstr1[30]={0};

charstr2[30]={0};

charstr3[30]={0};

//gets()用法

printf("Inputastring:");

gets(str1);

//scanf()用法

printf("Inputastring:");

scanf("%s",str2);

scanf("%s",str3);

printf("\nstr1:%s\n",str1);

printf("str2:%s\n",str2);

printf("str3:%s\n",str3);

return0;

}

参考资料来源:百度百科—gets

参考资料来源:百度百科—scanf

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-01
%s,可以输入一串字符,数字、特殊符号、英文都通用
第2个回答  推荐于2017-12-15
%d可以输出int类型的整形数字
%f可以输出float类型的浮点型也就是小数数字
%c可以输出字符比如英文字母、汉字、特殊字符和数字
还有%lf、%ld等可以去了解一下。

C语言中用scanf控制输入,printf控制输出。
比如我定义了一个变量int a;
如果对a进行赋值,就用到了scanf,具体语句:scanf("%d",&a);
如果要对a进行输出,就要用到printf,具体语句:printf("%d",a);
观察上面两个语句,共同点都是有个引号引号里面是格式控制字符,这个要和你前面定义的int保持一致(如果是float a,那么就用%f)。不同的是scanf后面用&a,这个&可以读作and,是地址符,输入的时候必须在变量前面加上(如果不加,编译不会出错但是运行的时候会犹豫内存分配等问题而强制退出等),printf直接写变量就可以了。本回答被网友采纳
第3个回答  2012-11-30
printf??追问

是的

追答

我晕,你这是要问什么

看这个吧http://baike.baidu.com/view/410546.htm

相似回答