1 //25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
2 #include<stdio.h>
3 #include<string.h>
4 #define SIZE 100
5 char compare_string_len(char *str1,char *str2,int size)
6 {
7 printf("please two string:\n");
8 scanf("%s",&str1,&str2);
9 if(strlen(str1)>=strlen(str2))
10 {
11 return *str1;
12 }
13 else
14 {
15 return str2;
16 }
17 / while(*m)
18 {
19 i++;
20 *m++;
21 }
22 while(*n)
23 {
24 j++;
25 *n++;
26 }
27 if(i>=j)
28 {
29 m=str1;
30 }
31 if(i<j)
32 {
33 m=str2;
34 }
35 return *m;
36 */
37 }
38 int main(void)
39 {
40 char str1[SIZE],str2[SIZE];
41 compare_string_len(str1,str2,SIZE);
42 printf("%s\n",str1,str2);
43
44 }
这个为什么会出现段错误?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 叶落花枯 2022-10-05 18:20关注
scanf("%s",&str1,&str2);
改成
scanf("%s", str1);
scanf("%s", str2);
scanf后面填的是接受输入的变量地址,str1和str2就是指针了,不需要&解决 无用评论 打赏 举报
悬赏问题
- ¥15 vs2019的js智能提示
- ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
- ¥15 uniapp的h5项目写一个抽奖动画
- ¥15 TeleScan不能修改bar
- ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
- ¥15 hadoop中启动hive报错如下怎么解决
- ¥15 如何优化QWebEngineView 加载url的速度
- ¥15 关于#hadoop#的问题,请各位专家解答!
- ¥15 如何批量抓取网站信息
- ¥15 Spring Boot离线人脸识别