读书人

关于C语言中数组输入元素有关问题

发布时间: 2013-07-04 11:45:40 作者: rapoo

关于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);

读书人网 >C语言

热点推荐