如何避免get_string错误?

时间:2017-03-29 14:26:07

标签: c cs50

我正在做CS50课程,pset2缩写。我得到的唯一错误是get_string的一个问题:它会有一个'不兼容的指针类型初始化'string'和一个类型为'string(void)'的表达式。我真的不明白我做错了什么,因为我的get_string代码适用于最后一个问题集。这是我的代码:

#include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main(void)
{
    // ask user for input 
    printf("What are your names?");
    string s = get_string;    

    // print first letter from string & capitalize
    printf("%c", toupper(s[0]));


    //iterate over characters in current string + start loop
    for (int i = 0; i < strlen(s); i++)
    {
        //find space character
        if (s[i] == ' ')
        {    
            // print character next to space & capitalize
            printf("%c", toupper(s[i++]));
        }
    // new rule 
    printf("\n");
    }
}

2 个答案:

答案 0 :(得分:1)

虽然您没有向我们展示cs50.h,但我们可以猜测get_string是一个函数,所以:

string s = get_string;    

需要:

string s = get_string();    

答案 1 :(得分:1)

get_string是一个不带参数的函数:

string get_string(void);

所以

string s = get_string;

必须是

string s = get_string();