1

我是 C 新手,所以我们有这个任务要做,我试图让它更复杂。

http://pastebin.com/A6z4MHGn

我目前的问题是制作 char* 类型的 wordMin,我不知道为什么它还没有。

我尝试制作一个类似但更短的程序

int numHrs = 2;
char* hours;

if (numHrs == 1) {
    hours = "hour";
} else {
    hours = "hours";
}

printf("\n%s\n\n", hours);

在这里它工作得很好。

非常感谢对我的 pastebin 代码的任何反馈,因为我是编码新手,不知道最聪明的做事方式。

4

2 回答 2

5

当您在一行中定义或声明变量时:

char* wordHrs, wordMin, wordSec;

这意味着首先将具有指向 char 的类型指针,而其他只是 chars。因此,在多行中定义您的变量,或者在每个将成为指针的变量名称之前键入星号:

char *wordHrs, *wordMin, *wordSec;

或者

char* wordHrs;
char* wordMin;
char* wordSec;
于 2013-09-09T11:10:18.077 回答
1

这条线可能是您的问题之一(wordMina在哪里char[]

printf("%s", (char) wordMin);

你为什么要选角wordMin

printf("%s", wordMin);

应该管用。一个东西数组(char在你的情况下)总是衰减到一个指向那个“东西”的指针,所以 a char*, here。

(错误消息有点虚假,因为 a在调用的上下文中char转换为a )intprintf

于 2013-09-09T11:17:34.850 回答