0

我想做的是让用户输入他们的信息。以状态为例。我需要处理这个状态缩写并将其输出为大写字母。我对如何做到这一点感到困惑,因为我正在使用结构。当我使用我在下面使用的东西时,它告诉我它们不兼容并且不起作用。我应该怎么做。我已经尝试了几乎所有的东西。这是在 C 中。

for (i = 0; i < 3 != '\0'; i++) {
    people[i].state = toupper(people[i].state);
}
4

1 回答 1

4

看来你的意思如下

for ( i = 0; i < 3; i++ )
{
    for ( char *p = people[i].state; *p; ++p ) *p = toupper( ( unsigned char )*p );
}

或者,如果您有一个结构类型的对象,那么类似

for ( i = 0; i < 3; i++ )
{
    people.state[i] = toupper( ( unsigned char )people.state[i] );
}

甚至

for ( i = 0; i < 3 && people.state[i] != '\0'; i++ )
{
    people.state[i] = toupper( ( unsigned char )people.state[i] );
}
于 2017-02-21T18:17:19.360 回答