C语言中scanf的%s是什么意思,%c和%s有什么区别。会的进来,谢谢.

如题所述

%s在scanf中代表一个字符串,%c在scanf中代表字符。如:
char ch;
scanf("%c",&ch);表示从键盘输入一个字符到ch中,
char str[5];
scanf("%s",&ch);表示从键盘输入一个字符串到str这个字符串数组中
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-07-19
char name[50];
printf("input your name:");
scanf("%s", name);
printf("%s\n", name);

下面是运行界面:
input your name:apple
apple
Process returned 0 (0x0) execution time : 7.521 s
Press any key to continue.

执行程序, 输入 apple
输出 apple
第一句,是字符串数组定义, scanf %s 就是你键盘输入字符串, 输出的时候就是一堆字符串
scanf %c
%c 的格式输入, 就是定义的单个字符的输入
char ch;

printf("please input a character:");
scanf("%c", &ch);
printf("%c\n", ch);
你键盘输入一个字符 a
屏幕打印一个字符 a
下面是运行界面:
please input a character:a
a
Process returned 0 (0x0) execution time : 6.135 s
Press any key to continue.
C语言的规定,就是单个字符用%c 格式输入控制符, 字符串的格式输入控制用%s
你完全可以复制运行一下, 初学不要想太多.
你应该学过最简单的 %d 控制符了吧, 就是十进制输入,输出控制符, C语言就规定, 你写%d, 我编译器就会当十进制输入输出. 你写其他的, 不是规定来的, 电脑也看不懂.

另外字符串数组, 输入字符串的时候, 不需要取地址符, 因为数组名就是地址, 是个地址常量. 不是变量. 楼下有个评论的兄弟, 也提到了. 这段话,你如果没学到数组, 而且没学到字符指针的话, 可以不用去看. 学到了的话,可以去考虑下,
第2个回答  2014-03-13
%s是指输入字符串 %c是指输入单个字符
第3个回答  2014-03-13
%c是输入一个字符……
相似回答