全部问题 > 当前问题

字符串的读入

主函数为:

main()

{

    int a[100];

    scanf("%s",a);

    fun(a);

}

然后fun函数是:

void fun(char a[])

{

    int i;

    for(i=0;i<26;i++)

        a[i]=?;

}

问号那里请问一下要填什么才能够把主函数的字符串给a[i]赋值?

水根 2015-11-17 22:02:57

共 4 个回答

最佳答案

嘿嘿大人 2015-11-18 08:18:41

你这调用是错的,你的形参是char类型,但是实参确实int类型,调用是不正确的,如果正确调用,实参是会自己赋值给形参的,不用你去用for循环赋值;

举例:


#include<stdio.h>

void fun(char a[])


{


    printf("%c\n",a[2]);


}

main()


{


    char a[100];


    scanf("%s",a);


    fun(a);


}


水根 2015-11-18 13:39:29

对了,char到底是属于什么样的类型?还有%s和%c的区别到底是什么啊?看了视频一直没看懂。

嘿嘿大人 2015-11-18 13:50:55

回复 水根:char就是字符类型啊,用它定义变量就是字符变量,用它定义数组就是字符数组;

%s是字符串的格式控制符,用它可以输出一个字符串,%c是字符的格式控制符,用它只可以输出一个字符

水根 2015-11-18 13:59:15

谢谢您的总结,我懂了

问题来自: 字符串