我是这样写的 if(a[x][y]=='\0') 我用断点调试每次运行到这里好像都会发生错误,不知道是不是我写错了,求解答
我把int型的a改为char型的了,数组为a[5][5],在执行到以下循环前x=4,y=3,但是用断点调试时发现明明a[x][y]=='\0'这个条件是真(说明:a[4][3]我没赋过值),但却去执行else的内容了
if(a[x][y]=='\0')
{
i=x;
j=y;
}
else i++;
}
其实不知道我要编什么的话估计也弄不清我的代码,所以之前都没发代码
#include<stdio.h>
int main()
{
int i=0,j=2,x,y,n=2;
char a[5][5];
a[0][2]=1;
for(n=2;n<=25,n++)
{
x=i;y=j;
x--;y++;
if(i==0&&j==4)
i++;
else
{
if(x<0) x=4;
if(y>4) y=0;
if(a[x][y]=='\0')
{
i=x;
j=y;
}
else i++;
}
a[i][j]=n;
}
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
{
printf("%5d",a[i][j]);
if(j%4==0) printf("\n");
}
return 0;
}
a是int型的
追答int型这样写没有意义,'\0'就是0,与==0是一样的
》》(说明:a[4][3]我没赋过值),但却去执行else的内容了
如果没赋过值,则是随机的(与编译器有关),这样判断不行。
c语言如何用if语句判断数组是否为空字符
for(n=2;n<=25,n++) --- 逗号要改为分号。char a[5][5]; 或 int a[5][5]; 放到 main() 以前,处理为全局量,编译时会初始化为0。(若作局部量,未赋值时,元素的值不是0,不是NULL,不是'\\0'。难以判断是否为“空”)...
用C语言怎么判断一个字符串是否为空?
回答:else \/\/ 空字符串 scanf ("%s", str); \/\/ 这里改下就行了! int len = strlen(str), i = 0; if (len > 0){while(i < len && str[i++] == ' '); if (i < len) \/\/ 字符串不空 else \/\/ 空字符串 #include <stdio.h> #include <string.h> void main(){...
C语言中,如何判断一个字符数组是空的
那要看你字符数组定义的时候有没有给初值。比如char a[10];这元素值都是随机值,无法判断。如果char a[10]={'a','b','c','d','e'};这样除了前5的元素后面都是0。可以用0来判断。如果char a[10]="abcde";这样由于“abcde”是字符串常量,内存中实际还有最后一个0.所以a数组中第6位就...
如何判断一个字符串指针是否为空(C语言)
\\n"); } else printf("空\\n");} 望采纳...
问个C语言中的判断字符串为空的方法?
'\\0' == buff[0]只能判断buff作为字符串时是不是一个有效的字符串,但并不能判断buff作为字符数组时是否全是空的,否则需要用memcmp和char zero[0] = {0}来比是否一致才行。对了。gcc是c编译器,g++是c++的编译器。如果是c++的话,c部分和前面的例子一样比较,多了一个string这个类型,这是...
c语言 if !=用法
你的意思是:通过判断数组成员是否为空得出是否存在该成员,存在则进行赋值?如果是,那么这样写是不对的,把if(a != NULL)改为:if(a[i] != NULL)就可以了,因为每次for循环我们的目的是判断每个成员是否存在,你用a只是该数组的首地址,仅代表第一个元素,不能判断每一个成员。
C语言中如何判断数组元素非空,我想通过这个来把参数数组赋给我建立的...
判断数组的第一个元素是否为null。如char array[10];if(array[0]==null)则为空吧.
C++二维数组如何查询某列为空
比如我要判断第20列是不是为空,那么可以这样写:flag=0;for (i=1,1<=100,i++){ if (a[i][20]==0) then flag=1;} 最后如果flag为0则表示没有存数据,否则就表示存了数据。(这里假设数组a的初始值都为0)
关于C语言中#if的用法
IF函数一般是指Excel中的IF函数,根据指定的条件来判断其“真”(TRUE)、“假”(FALSE),根据逻辑计算的真假值,从而返回相应的内容。可以使用函数 IF 对数值和公式进行条件检测。c语言函数if的用法:函数语法 IF(logical_test,value_if_true,value_if_false)Logical_test 表示计算结果为 TRUE 或 FALSE...
c语言if语句用法
if(i%2)就是判断i除以2的余数是否为零,不为零就执行if内的语句,如果余数为零,就不执行if内的语句。if(条件){ }是条件判断语句,条件为零,不执行if内的语句,条件不为零就执行if内的语句。i%2是求i除以2的余数。如:if(i%2){i++;} 当 i=8时,i%2=0 执行后i还是为8 ...