2301_79109142 2023-10-06 19:07 采纳率: 77.8%
浏览 5
已结题

c语言关于字符数组的小问题

img


问题一:我像这样定义一个数组,并用%s输入,那么输入123#46之后,它占了char数组20个数里的六个位置是嘛?
问题二:如果是这样的话,那么123#4
6它们在计算机里存储的二进制数值 分!别 !是多少呢?因为数字也没有ascll码啊?这个问题困扰我这个大一新生好久了,求解!

  • 写回答

2条回答 默认 最新

  • a5156520 2023-10-06 19:11
    关注

    1、因为输入的字符串"123#46"每个字符都存储到字符数组,六个字符,所以占用了六个位置;
    2、"123#46"存储在计算机的二进制分别是它们ASCII码对应的二进制,数字有对应的ASCII码。

    
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    int main(void){
        
        char a[20];
        char result[20];
        scanf("%s",a);
        
        for(int i=0;i<strlen(a);i++){
            // https://blog.csdn.net/qq_42410605/article/details/101927277
            // https://blog.csdn.net/zggzgw/article/details/53710822
            itoa(a[i],result,2);
            printf("a[%d]=%c,ASCII码为:%d,对应的二进制为:%s\n",i,a[i],a[i],result);
        }
        
        
        printf("%s",a);
        
        
        return 0;
        
    } 
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月14日
  • 已采纳回答 10月6日
  • 创建了问题 10月6日

悬赏问题

  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
  • ¥30 python,LLM 文本提炼
  • ¥15 关于将inet引入的相关问题
  • ¥15 关于一个倒计时的操作和显示设计
  • ¥15 提问STK的问题,哪位航天领域的同学会啊
  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!