我正在做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");
}
}
答案 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();