繁体   English   中英

我正在尝试扫描一个字符串并将其放入 function,但它不起作用

[英]I am trying to scanf a string and put it in a function, but it doesn't work

最初它工作得很好

int function(char *pointer, char *pointer0){
    if(pointer[0]==pointer0[0]){
        printf("Same");
    }
    else{
        printf("Not same");
    }
}

int main(){
    char string;
    function("example","echinodermata");
    return 0;
    }

但是,当我尝试将其转换为接受用户输入时,它无法正常工作,我不明白为什么,我该如何解决这个问题?

int function(char *pointer, char *pointer0){
    printf("%s %s\n",pointer,pointer0);
    if(pointer[0]==pointer0[0]){
        printf("Same");
    }
    else{
        printf("Not same");
    }
}

int main(){
    char string,string0;
    scanf("%s",&string);
    scanf("%s",&string0);
    function(&string,&string0);
    return 0;
    }

在这种情况下,你犯了一个错误。 您尚未为声明为单个charstringstring0变量定义任何数组长度。 如果您执行以下操作:

char string[10], string0[10]; // array length defined

其次,您只使用了char数据类型的占位符%s ,因此您必须使用数组来接受多个字符。

它会工作的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM