發布於 

ANSI C:判斷字串是否全大寫

程式碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* 感謝一位不具名朋友提供效能更佳的版本 (all_uppercase)! */
/* 舊版在 all_uppercase_v1() */

#include <string.h>
// 只有 all_uppercase_v1 需要 ctype.h
#include <ctype.h>

int all_uppercase(char* str) {
int len = strlen(str);
for (int i = 0; i < len; ++i)
if (!(str[i] >= 'A' && str[i] <= 'Z'))
return 0;
return 1;
}

int all_uppercase_v1(char* str) {
int upper = 1;
for (int i = 0; i<strlen(str); i++)
if (!isupper(str[i])) upper = 0;
return upper;
}

本網誌所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 授權條款。轉載請註明出處。

本站由 @pan93412 建立,使用 Stellar 作為主題。