C語言的atoi函數(shù)用于將字符串轉(zhuǎn)換為整數(shù)。其函數(shù)原型為:
int atoi(const char *str)
參數(shù)str是要轉(zhuǎn)換的字符串,返回值是轉(zhuǎn)換后的整數(shù)。
使用atoi函數(shù)時,需要注意以下幾點:
atoi函數(shù)會從字符串的開頭開始讀取數(shù)字字符,直到遇到非數(shù)字字符為止。所以如果字符串中包含非數(shù)字字符,那么只會將開頭的數(shù)字字符轉(zhuǎn)換為整數(shù)。
如果字符串開頭有空格或者其他非數(shù)字字符,那么會直接跳過這些字符,從第一個數(shù)字字符開始讀取。
atoi函數(shù)會自動忽略開頭的空格字符,但不會忽略字符串中間或者末尾的空格字符。
如果字符串為空或者不包含有效的數(shù)字字符,那么返回值為0。
下面是一個使用atoi函數(shù)的示例:
#include <stdio.h>
#include <stdlib.h>
int main() {
char str1[] = "12345";
char str2[] = " -6789";
char str3[] = "12abc34";
char str4[] = "";
int num1 = atoi(str1);
int num2 = atoi(str2);
int num3 = atoi(str3);
int num4 = atoi(str4);
printf("num1: %d\n", num1);
printf("num2: %d\n", num2);
printf("num3: %d\n", num3);
printf("num4: %d\n", num4);
return 0;
}
輸出結(jié)果為:
num1: 12345
num2: -6789
num3: 12
num4: 0
可以看到,atoi函數(shù)能夠?qū)⒆址D(zhuǎn)換為整數(shù),并自動忽略非數(shù)字字符。