【发布时间】:2020-11-02 20:00:16
【问题描述】:
我正在尝试制作一个我认为应该很简单的程序。我想询问一个单词并将其存储在一个大小合适的向量中(逻辑上更多\n)。为此,程序要求用户写一个以. 结尾的单词。然后,程序逐个字母读取并将这些字母存储在一个字符串中,该字符串在读取字母时动态创建。
int main() {
int i = 0, tam = 0;
char *cad = (char *)malloc(sizeof(char));
char c;
printf("word: ");
while (c != '.') {
scanf("%c", c);
cad[i] = c;
i++;
cad = realloc(cad, (i + 1) * sizeof(char));
}
cad[i] = '\0';
for (i = 0; cad[i] == '\0'; i++) {
tam++;
}
printf("tam: %d\n", tam);
return 0;
}
我做了这个,但我认为它没有任何用处
【问题讨论】:
-
学究式:在 C 中,我们没有向量。
-
是的,我知道@RobertSsupportsMonicaCellio
-
你在scanf中错过了“&”
-
你也错过了为第一个循环初始化 c
-
@sonlas10 用除 '.' 以外的任何东西初始化它