c语言中关于字符的输入输出问题。 我想知道输入scanf("%c",a[i]);和scanf("%

c语言中关于字符的输入输出问题。
我想知道输入scanf("%c",a[i]);和scanf("%s",a);和gets(a)和getchar()的区别
还有就是输出printf("%c",a[i])和printf("%s",a)和puts(a)和putchar()的区别

putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。
getchar函数的功能是从键盘上输入一个字符。 函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。
printf 函数称为格式输出函数.一般形式为:printf(“格式控制字符串”,输出表列)
scanf 函数在本质上也是给变量赋值,
1》但要求写变量的地址,如&a。scanf函数中没有精度控制,如:scanf("%5.2f",&a);是非法的。不能企图用此语句输入小数为 2 位的实数。
2》scanf 中要求给出变量地址,如给出变量名则会出错。如 scanf("%d",a);是非法的,应改为scnaf("%d",&a);才是合法的。
3》在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
4》在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。追问

看不懂

追答

多看几遍就会明白了 或者自己写几个代码就会知道区别,实践才是最好的老师,别人说的不一定是你自己的,加油

追问

我发个冒泡排序的代码你给我解释解释行吗

追答

发出来看下,能分析的话 我就帮你解析了

追问

谢啦

追答

不客气

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-08
scanf("%c",&a[i]):是一次输入一个字符,这个是时候要对数组元素取地址:
scanf("%s",a);是以字符串的形式输入,a就是字符数组的首地址;
gets(a)也是以字符串的形式输入,getchar()每次读取一个字符;
printf(),puts()putchar();就类似了追问

我记得有空格的时候有差别的

追答

scanf("%c",&ch);遇到空格会以正常字符形式读入;
scanf("%s",a);遇到空格,会认为字符串结束,把空格之前的字符串读入

追问

我发个冒泡排序的代码,帮我解释一下行吗

追答

可以

发吧

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网