c语言中关于字符的输入输出问题。 我想知道输入scanf("%c",a[i]);和scanf("%
c语言中关于字符的输入输出问题。我想知道输入scanf("%c",a[i]);和scanf("%s",a);和gets(a)和getchar()的区别还有就是输出prin...
c语言中关于字符的输入输出问题。
我想知道输入scanf("%c",a[i]);和scanf("%s",a);和gets(a)和getchar()的区别
还有就是输出printf("%c",a[i])和printf("%s",a)和puts(a)和putchar()的区别 展开
我想知道输入scanf("%c",a[i]);和scanf("%s",a);和gets(a)和getchar()的区别
还有就是输出printf("%c",a[i])和printf("%s",a)和puts(a)和putchar()的区别 展开
2个回答
展开全部
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》在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
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》在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
更多追问追答
追问
看不懂
追答
多看几遍就会明白了 或者自己写几个代码就会知道区别,实践才是最好的老师,别人说的不一定是你自己的,加油
展开全部
scanf("%c",&a[i]):是一次输入一个字符,这个是时候要对数组元素取地址:
scanf("%s",a);是以字符串的形式输入,a就是字符数组的首地址;
gets(a)也是以字符串的形式输入,getchar()每次读取一个字符;
printf(),puts()putchar();就类似了
scanf("%s",a);是以字符串的形式输入,a就是字符数组的首地址;
gets(a)也是以字符串的形式输入,getchar()每次读取一个字符;
printf(),puts()putchar();就类似了
更多追问追答
追问
我记得有空格的时候有差别的
追答
scanf("%c",&ch);遇到空格会以正常字符形式读入;
scanf("%s",a);遇到空格,会认为字符串结束,把空格之前的字符串读入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询