G帅T 2023-02-21 17:42 采纳率: 76%
浏览 47
已结题

c语言数组有关字符串的问题

img


为什么说我这个是无效数组排列?数组不能和变量一样吗?传递变量值?如何解决呢

img


我编的代码是为了解决练一练的题目,我看题想的上面的代码

  • 写回答

4条回答 默认 最新

  • a5156520 2023-02-21 18:02
    关注

    下面是我的理解,供参考:

    1、因为字符数组名是不可变的,所以对其赋值是错误的,如果要复制字符数组里面的字符,可以使用strcpy()函数;

    2、然后,使用scanf()函数获取字符串使用逗号分隔会让正确获取输入变得比较复杂,因为scanf()获取字符串默认以空白字符(即空格,制表符,或换行符)分隔字符串,所以可以改为两个%s之间加个空格或不加也可以;

    3、再是,打印字符数组里面的字符串,需要使用%s.

    4、最后,在while最后再加个scanf(),获取下次需要比较的字符串到数组str1和str2中。

    修改如下:

    参考链接:



    #include <stdio.h>
    #include <string.h>
    
    int main(void){
        
        int k;
        printf("输入两个字符串:");
        char str1[30],str2[30],str3[30];
        
        //  https://baike.baidu.com/item/scanf/10773316?fr=aladdin
        scanf("%s %s",str1,str2);  //在scanf()获取字符串不需要使用逗号分隔 
    //    printf("s1=%s --- s2=%s\n",str1,str2); 
        
        while(1){
            
            k=strcmp(str1,str2);
            if(k>0){
            // // https://blog.csdn.net/weixin_63279307/article/details/128412296    
                printf("%s %s\n",str1,str2);  // 打印字符数组里的字符串使用%s即可 
            }else if(k<0){
    
    
    //https://www.hyluz.cn/post/506.html
    // https://baike.baidu.com/item/strcpy/5494519?fr=aladdin            
                strcpy(str3,str1); // 复制str1中的字符串到str3中 
                strcpy(str1,str2); // 复制str2中的字符串到str2中 
                strcpy(str2,str3); // 复制str3中的字符串到str2中 
    
    
                printf("%s %s\n",str1,str2);
            }else if(k==0){
                printf("请输入两个不同大小的字符串:"); 
            }
            scanf("%s %s",str1,str2);  // 获取下次需要比较的字符串到字符数组str1和str2中 
        //    printf("s1=%s -- s2=%s\n",str1,str2); 
        } 
        
        return 0;
    } 
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月1日
  • 已采纳回答 2月21日
  • 创建了问题 2月21日

悬赏问题

  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan