%s期望类型为'char*',但参数2的类型为'int'

Jen*_*oin 1 c

我是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);
Run Code Online (Sandbox Code Playgroud)

在这里它工作得很好.

任何有关我的pastebin代码的反馈都非常受欢迎,因为我不熟悉编码并且不知道最聪明的做事方式.

use*_*009 5

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

char* wordHrs, wordMin, wordSec;
Run Code Online (Sandbox Code Playgroud)

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

char *wordHrs, *wordMin, *wordSec;
Run Code Online (Sandbox Code Playgroud)

要么

char* wordHrs;
char* wordMin;
char* wordSec;
Run Code Online (Sandbox Code Playgroud)

  • 这就是为什么你应该_never_在同一行声明不同的变量.除了明显的bug风险之外,它还使代码无法读取. (2认同)