关于C语言中,数组输入元素问题。
#include <stdio.h>
#include <string.h>
int main(){
char s[5];
int i,k,n;
k=strlen(s);
printf("Please input a string :\n");
for(i=0;i<5;i++)
{
scanf("%c",&s[i]);
}
printf("The input string is: %s\n",s);
问题:在scanf("%c",&s[i])中,如果把%c换成%s,那么之后的参数是不是应该换成&s ? 可不可以在C语言中,输入一个字符串作为scanf的参数? 如果可以的话,麻烦牛人指导
C
[解决办法]
要么
for(i=0;i<4;i++)
{
scanf("%c",&s[i]);
}
s[4]=0;
要么
scanf("%4s",s);
[解决办法]
给s[i]赋值:
方法一: 逐个赋值,给每个元素赋值。(只能是字符)
for(i=0;i<4;i++)
{
scanf("%c",&s[i]);
}
方法二: 赋值字符串。
scanf("%s",s); 这里的s,表示s[i]的首地址。如果s[i]足够大,没什么影响。
如果s[i]比较小,需要注意格式:s[4] scanf("%4s",s);