关于定义数组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;
} 能不能用插入代码。。。。 颜色别改很难阅读的
你 int str; 每个元素4B
char 只有一个字节啊
%s遇到NUL(0) 直接结束了 所以输出一个f
000f 000i 000s 000h 0000...int数组相当于(内存中并不是真的这样
fish\0 char str【max】 相当于这样
'\0' 的值就是0
页:
[1]