while (xx[i][j]!='o' && j>=0)
char buf[80];
这就是申请一个长度为80个字节的空间,作为字符数组使用。这个空间的首地址为buf。
在这段空间中,最多可以存放80个ASC字符。如果用来存储字符串,则字符串的最大长度为79个字节(最后必须有一个字节存放字符串结束标记'\0')。
XX[i][j]=0
这样处理之后
下次循环的时候就不会重复再对 i j这个地方所对应的信息进行处理
不然就会重复出现 重复处理
处理到最后会变成死循环
使用if 可以不使用else
但是使用else 一定要有if
如果if不满足的话
可以使用一些并列的条件
if
else if
else
举个例子
比如
100分以下90分以上的 如何如何
80分以上90分一下的如何如何
剩下的如何如何
就可以表示成
if(k>=90&&k<100) {...}
else if(k>=80&&k<90) {...}
else {...}
恩,可以的。
有一个很经典的例子 是输出性别的
设定性别1为女生 0为男生
if(k==1)
printf("fe");
printf("male");
这样的话女生就打出female
男生打出male
if(x<0)
y=-1;
y=1;
不用else 就说明if内容之后的语句是被执行的
如果你输入x负数
然后y=-1
再执行下一步 y=1
如果输入x正数
那么if里面的内容就不做
直接执行y=1
和上面那个female和male道理一样的
else不是说省略也没关系
是说else可以用,可以不用
比如
#include
void main()
{int x,y=0;
printf("enter x:");
scanf("%d",&x);
if(x<0)
y=-1;
printf("x=%d,y=%d
",x,y);
}
如果你输入x是正数的话,y输出就等于0
用汉字来表述的话
if...
如果怎么样 就做什么 再做什么
if... else...
如果怎么样 就做什么 否则就做什么 再做什么
while (xx[i][j]!='o' && xx[i][j])
if (!xx[i][j]) //非零,也就是不是这个转义符零'\0'
{
strcat(buf, &xx[i][k]);
//原型:extern char *strcat(char *dest,char *src);
//用法:#include <string.h>
//功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')
//并添加'\0'。
//这里就是把xx[i][k]及其以后的所有字符(直到出现转义符'\0'的地方)
//添加到字符串buf的尾部。
break; //终止本次循环,while循环退出,整个循环终止~~~
}
利蓓牛黄:int i, j, k; char buf[80]; /*定义一个80个长度的数组*/ for (i=0; i<maxline; i++) /*执行外层循环,如果i小于最大长度则循环一次i自增*/ { j = strlen(xx[i])-1;/*j等于xx数组的行数长度-1*/ while (xx[i][j]!='o' && j>=0)/*如果数组中第i-1行,j-1列的元素不等...
香港特别行政区18069714978: xx[i][j]+=xx[i][j]>>4什么意思??
利蓓牛黄: 表示 xx[I][j] = xx[I][j] + xx[I][j]>>4, “xx[I][j]>>4 ”表示xx[I][j]右移4位, 等同于 xx[I][j]=xx[I][j](除以(2的4次方)), 但是如果xx[I][j]的模(绝对值)小于16,“xx[I][j]>>4”以后xx[I][j]则变为0.
香港特别行政区18069714978: c语言这个循环语句用 for 怎么写 - ?
利蓓牛黄: for(i=xx,j =xx; i < j; i++,j--) {int t = pArr->pBase[i];pArr->pBase[i] = pArr->pBase[j];pArr->pBase[j] = t;} 竟然说写重了答案 实际上还需要初始化j啊如果仅仅是这段代码,顶一楼答案
香港特别行政区18069714978: while ((a[j]!='\0') && (a[j]=='*')) j++ - ?
利蓓牛黄: 您可以看看这个代码,看是否可以看懂.1、第一份代码 int main() { char a[] = "********"; int j = 0; while ((a[j]!='\0') && (a[j]=='*')) { j++; } printf("%d",j); //输出为 8 return 0; }2、第二份代码 int main() { char a[] = "****9****"; int j = 0; while ((a[j]!='\...
香港特别行政区18069714978: int i,j,n; n=0; for(i=100;i<=200;i++) { j=2; while(i%j!=0) j++; 怎么把 while(i%j!=0) 写成for 谢谢 - ?
利蓓牛黄: { j=2; while(i%j!=0) j++; 可以写成:{ for (j=2; i%j!=0; j++); 循环体为空的语句,循环条件 i%j!=0 为真.更简单的写法: for(i=100;i
香港特别行政区18069714978: C语言,求出大于m且紧靠m的k个素数 - ?
利蓓牛黄: void fun(int m, int k, int xx[]) { int i,j=0,t; i=m+1; while(j<k) { for(t=2;t<i;t++) if (i%t==0) break; if (t==i) xx[j++]=i; i++; } }
香港特别行政区18069714978: whlie(a[i]) whlie(a[i]=b[j])什么意思 C语言编程 - ?
利蓓牛黄: while(a[i]) 是判断a[i]的值是多少,然后分支.while(a[i]=a[j])这个是把a[j] 的值赋予a[i],然后再根据a[i]的值,往下执行
香港特别行政区18069714978: xx[i][j]= xx[i][j]+4什么意思 - ?
利蓓牛黄:[答案] 楼上瞎说. 这个意思是:将xx[i][i]这个元素的值加4后再存到这个元素里.可以写成 xx[i][j]+=4;
香港特别行政区18069714978: while((str1[i]=str2[j])!='\0'); - ?
利蓓牛黄: 如果i和j不变的话这个是一个死循环,一直做把str2[j]的值赋给str1[i],如果str2[j]为字符串结尾(即\0),跳出. 这个赋值语句返回的是str2[j]的值,一般这个句子在字符串赋值时候可以用一下,很巧妙. while (str1[i++]=str2[j++]); 这样把str2从j到字符串尾的部分赋值给了str1字符串,位置是从i开始的.
香港特别行政区18069714978: C语言课本上有一些编的程序是来查找一些字符中的某些字符,但是这类程序有什么具体作用? - ?
利蓓牛黄: 就那样的程序而言,没什么具体作用,只是让你知道字符串查找的原理.因为这个程序的字符串,都是在程序里写好,或者在cmd窗口输入进去的.你如果要自己搜其他的东西,就得自己完善代码.