C++getchar找不到标识符
时间: 2023-11-20 14:59:36 浏览: 219
根据提供的引用,以下是一个判断输入字符串是否符合C++标识符规定的示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
bool isValidIdentifier(string str) {
if (!isalpha(str[0]) && str[0] != '_') {
return false;
}
for (int i = 1; i < str.length(); i++) {
if (!isalnum(str[i]) && str[i] != '_') {
return false;
}
}
return true;
}
int main() {
string input;
getline(cin, input);
if (isValidIdentifier(input)) {
cout << "Valid identifier" << endl;
} else {
cout << "Invalid identifier" << endl;
}
return 0;
}
```
以上代码中,`isValidIdentifier`函数用于判断输入的字符串是否符合C++标识符规定,`main`函数中使用`getline`函数获取用户输入的字符串,并调用`isValidIdentifier`函数进行判断。
根据提供的引用,在使用`getchar`函数获取输入字符时,需要注意以下两点:
1. `getchar`函数返回的是`int`类型,而不是`char`类型。
2. 在判断输入是否结束时,应该使用`(c = getchar()) != EOF`,而不是`c = getchar() != EOF`。
如果以上两点都没有问题,但仍然无法找到标识符,可能是因为输入的字符串不符合C++标识符规定。
阅读全文