我想用scanf( " %s" , ✀s✀);输入一个字符s 可以吗??

2024-11-08 00:11:42
推荐回答(5个)
回答1:

可以,这种写法是错误的。

例如:

定义一个字符数组,char a[100];

scanf("%s",&a);也可以用gets(a);//表示把从键盘输入一个字符串赋值给字符串数组a

直接键盘输入‘s’,回车就可以了;这样字符‘s'就储存在字符数组a中了;

//参考代码如下:
#include
int main()
{
int i=0;
char a[200];
gets(a);//输入字符串
puts(a);//输出字符串 
return 0;
}
//输入:s
//输出:s

回答2:

楼上说的都正确,你写的这段代码中,代码运行时,需要在内存中有对应的存放位置,scanf("%s","s");这样写的话,你的s字符没有地方可以存放。所以必须先定义一个变量char s;然后把你输入的字符放入这个定义好的变量中,这个变量在代码运行时,会在内存开辟一块空间给你。
另外,你的意思是输入一个字符,所以应该写为:scanf("%c",&s);
如果需要输入一个字符串的话,那么需要定义一个字符串数组:char s[100] = {0};
scanf("%s",s);

回答3:

scanf的格式说明符一般用%c,%f,%d 而且输入字符前要加地址运算符& 所以你的方法不行

回答4:

//可以,但你的写法错误,下面是正确的:
char s;
scanf("%c",&s);

回答5:

不可以,可以这样做,用char定义 s, 然后再用scanf("%c",&s);输入一个字符s