C语言字符串转换为数字实例 C语言命令行参数实例 C语言变量作用域 C语言字符串转换为数字实例 /* strcnvt.c -- try strtol() */ #include <stdio.h> #include <stdlib.h> #define LIM 30 char * s_gets(char * st, int n); int main() { char number[LIM]; char * end; long value; puts("Enter a number (empty line to quit):"); while(s_gets(number, LIM) && number[0] != '\0') { value = strtol(number, &end, 10); /* base 10 */ printf("base 10 input, base 10 output: %ld, stopped at %s (%d)\n", value, end, *end); value = strtol(number, &end, 16); /* base 16 */ printf("base 16 input, base 10 output: %ld, stopped at %s (%d)\n", value, end, *end); puts("Next number:"); } puts("Bye!\n"); return 0; } char * s_gets(char * st, int n) { char * ret_val; int i = 0; ret_val = fgets(st, n, stdin); if (ret_val) { while (st[i] != '\n' && st[i] != '\0') i++; if (st[i] == '\n') st[i] = '\0'; else // must have words[i] == '\0' while (getchar() != '\n') continue; } return ret_val; } C语言命令行参数实例 C语言变量作用域