vitalfish 发表于 2021-6-27 23:15:23

关于定义数组str的一个问题

[font=黑体]???代表的是代码的东西

如果??? = int 它的结果是左下角的图1

如果??? = char 它的结果是右下角的图2


代码如下

#include<stdio.h>
#include<string.h>

#define MAX 21

int main()
{
        ??? str;
        inti = 0,a,ch;
       
        a = MAX - 1;
       
        printf("请输入英文文本:");
        while ((ch = getchar()) != '\n')
        {
                str = ch;
               
        }
       
        if(i > 19)
        {
                for(i = 0;i < 20;i++)
                {
                        if(str = '\n')
                        {
                                a = i;
                        }
                }
                str = '\0';
        }
        else
        {str ='\0';}
       
        printf("你输入的文本是:%s\n",str);
        printf("i=%d,a=%d",i,a);
       
        return 0;
}

万千只cnm 发表于 2021-6-27 23:23:43

能不能用插入代码。。。。 颜色别改很难阅读的   
你   int str;    每个元素4B
char 只有一个字节啊
%s遇到NUL(0) 直接结束了   所以输出一个f   

万千只cnm 发表于 2021-6-27 23:30:01

000f 000i 000s 000h 0000...int数组相当于(内存中并不是真的这样   
fish\0                  char str【max】 相当于这样
'\0' 的值就是0
页: [1]
查看完整版本: 关于定义数组str的一个问题