为什么c=getchar()不是合法的表达式
时间: 2023-10-03 07:06:57 浏览: 67
表达式 `c=getchar()` 是合法的,在 C 语言中,`getchar()` 是一个标准库函数,用于从标准输入流中读取一个字符。该函数返回读取的字符,因此可以将其赋值给变量 `c`,以便在程序的其他地方使用该字符。但是,如果没有包含 `<stdio.h>` 头文件,则编译器可能会报告错误,因为该头文件包含了 `getchar()` 函数的声明。因此,建议在使用 `getchar()` 函数之前始终包含 `<stdio.h>` 头文件。
相关问题
为什么c=hetchar()不是合法的表达式
表达式 `c = getchar()` 是合法的,但是您提到的 `c=hetchar()` 是不合法的。这是因为函数名应该是 `getchar()` 而不是 `hetchar()`。在 C 语言中,函数名必须与函数声明或定义中的名称完全匹配,否则会导致编译错误。因此,您需要将函数名称更正为 `getchar()` 才能使表达式合法。
ch = getchar()和getchar(ch)有区别吗?
`ch = getchar();` 和 `getchar(ch);` 这两个表达式在C语言中的确有不同的含义。
第一个表达式 `ch = getchar();` 它首先会从标准输入流(通常是键盘)读取一个字符,并将这个字符赋值给变量 `ch`。这里的 `getchar()` 函数直接返回并接收一个字符,而不需要传递任何参数。
第二个表达式 `getchar(ch);` 的语法是错误的。在C语言中,当你想要调用一个函数并且需要将其结果赋值给一个变量时,应该把等号放在函数调用之后,而不是作为参数的一部分。所以这个表达式实际上是试图把 `ch` 作为一个参数传递给 `getchar()`,这在函数原型上是不允许的,因此会产生编译错误。
正确的用法应该是先声明或初始化一个变量,然后像第一个例子那样使用它。