c 语言的小技巧之 输入 %*s

前言

%*s是格式化字符串的一部分,用于在输入过程中跳过一个字符串而不将其存储到变量中。这在处理需要跳过特定部分的输入时非常有用。

主体

具体来说,%*s的工作方式如下:

%*s:表示忽略一个字符串。*用于指定一个可选的字段宽度,但是在这种情况下,字段宽度没有实际的作用。
s:格式说明符表示读取一个字符串。
下面是一个示例,演示了如何使用%*s来跳过输入中的字符串:

#include 

int main() {
    char name[100];
    char city[100];

    printf("Enter your name: ");
    scanf("%*s");  // 跳过输入的字符串,不存储到name变量
    printf("Enter your city: ");
    scanf("%s", city);  // 将输入存储到city变量

    printf("City: %s\n", city);

    return 0;
}

在这个示例中,%*s用于跳过用户输入的名字,而%s用于读取用户输入的城市。因此,用户输入的名字将被忽略,只有城市会被读取并打印出来。

注意事项

%*s 格式说明符实际上不能直接用于跳过空格。它用于跳过字符串,而不管字符串中是否有空格。在使用 %*s 时,它会忽略整个字符串,包括其中的所有字符,包括空格。

你可能感兴趣的:(c,c++,c语言)