百科知识

sscanf和scanf的区别

sscanf和scanf的区别

一、前言

这里整理了一些在iOS求职中常见的算法题目,希望能帮助到大家。这些题目会不定期更新,如果大家想在线运行代码进行调试,可以将代码复制到这里进行尝试。

二、正文

1. 计算n的阶乘

解题思路:使用递归实现

代码如下:

c

include

int getNJ(int n) {

if (n等于1或0) {

返回1;

}

返回 n 乘以 getNJ(n-1);

int main() {

printf(“%d”, getNJ(10));

返回0;

2. 判断字符串是否为IP地址

解题思路:先将字符串分割成数字数组和字符数组,然后判断数字数组是否满足IP条件,字符数组中是否只包含”.”。主要使用sscanf函数。

代码如下:

c

include

int checkIP(const char p) {

int数组 n[4]; // 用于存储IP地址中的数字

字符数组 c[4]; // 用于存储IP地址中的”.”符号

如果 sscanf(p, 格式字符串) 等于 7(表示成功读取四个数字和三个”.”):

对于 i 从 0 到 3:

如果 c[i] 不等于 ‘.’,则返回 0(表示不是合法的IP地址)

如果 n[i] 不在 0 到 255 的范围内,也返回 0(表示不是合法的IP地址)

返回 1(表示是合法的IP地址)

否则:

返回 0(表示不是合法的IP地址)

int main() {

字符串数组 x = {“132.168.1.1”, “10.0.0.1.”, “127.256.0.1”, “iudfdsfdasfdaf”, “172.16,2.1”}; // 测试IP地址数组

字符串数组 m = {“不是合法的IP地址”, “是合法的IP地址”}; // 结果标识数组

整数 i = 0; // 用于循环遍历测试IP地址数组的索引变量

当 x[i] 不等于 0 时(即未遍历完所有测试IP地址):


sscanf和scanf的区别

你可能也会喜欢...