char a[]="How are you!";
for(i=0;a[i];i++)
if (a[i]!=' ')
a[j++]=a[i];
else a[j]='\0'; // 有else和没else的区别在哪里??
printf("%s\n",a);
}
输出结果Howareyou!
====================
#include <stdio.h>
void main()
{ int i,j=0;
char a[]="How are you!";
for(i=0;a[i];i++)
if (a[i]!=' ')
a[j++]=a[i];
a[j]='\0'; //
printf("%s\n",a);
}
输出结果Howareyou!u!
为什么会这样?、?
这两个程序有什么区别呀??求大神
求助#include <stdio.h> void main(){int i,j,m=0,n=0
由于n++这句不属于if的字句,所以只在全部循环结束后才执行一次,因而输出结果是1
#include <stdio.h> void main() {int i=0,j=0,k=0; scanf ("%d%*d%d...
因为%*d表示跳过输入的一个整数,所以j是得不到你输入的20,他获取的是30 ,而最后的K因为是赋初值了,所以可以不用输入 结果相当于是你只输入了10 30 因此当你输入10 20 30时,i的值为10,j的值为30,k的值为0
#include<stdio.h> void main() { int i=0,j=0; char a[10],b[10...
include<stdio.h> void main(){ int i=0,j=0;char a[100],b[10];printf("please input a,b:");scanf("%s%s",a,b);while(a[i]!='\\0'){ i=i+1;} while(b[j]!='\\0'){ a[i]=b[j];j++;i++;} a[i]='\\0';printf("合并后:%s",a);} ...
#include <stdio.h> void main() { int i = 0, j = 0
include <stdio.h>void main(){int i = 0, j = 0;for(i = 0; i < 5; i ++) \/\/外层循环,控制行数从0~4{ for(j =0; j <= i; j++)\/\/内层循环,控制每行打印*数,*数是0~i,即(i+1)个* { printf(“*”); } printf(“\\n”);\/\/内层循环结束,即1...
...h>#include<string.h>void main(){int i,j=0,k,a[100];i=120;d0...
对的。do{ k=i%2;i=i\/2;a[j++]=k;}while(i>0);\/\/做循环 每次将i对2取余的值付给k。然后2除以2.依次循环。for(j--;j>=0;j--){printf("%1d",a[j]);}\/\/是将得到的数值按照逆序输出
# include<stdio.h> void main() { char a[]="morning",t; int...
首先感觉这个程序写的很乱,而且我没看出来这个程序到底要做什么具体的、有意义的事情。然后仔细看了下,char a[]="morning",t;int i,j=0;for(i=1;i<7;i++)if(a[j]<a[i])j=i;t=a[j];a[j]=a[7];a[7]=a[j];puts(a);在 for 循环里貌似就是检查morning这个字符串中的每个...
#include "stdio.h" void main () { int n,i,j; j=0; printf("请输入一...
include "stdio.h"void main (){ int n,i,j,k=0;j=0;printf("请输入一个正整数n=");scanf("%d",&n);n=n+1;while(j==0&&k<3){ j=1;if(n==1){ n++;break;} for(i=2;i<=n\/2;i++)if(n%i==0){ j=0;break;} if(j==0)n++;else { j=0;k++;printf("\\n所...
#include<stdio.h> main(void) { int i=0,j=0,k=0,m; for(m=0;m<4...
答案是 0 2 2 5 m=0开始 case 0:i=m++; \/\/i=0,m=1 case 1:j=++m;\/\/m=2,j=2 case 2:k=m++;\/\/k=2,m=3 case 3: m++;\/\/m=4 然后返回for循环for(m=0;m<3;m++)m++后 m=5 因为 m=5 大于3 退出循环,输出结果,不过你代码不是很规范,一般的编译器容...
#include"stdio.h" void main() { int i,j,l=0,k=0,a[3][3]; for(i...
关键在这里 if(i==j)l=l+a[i][j];else if(i+j==2)k=k+a[i][j];当i=j=1的时候, if(i==j)判断为真,所以就不再判断 else if(i+j==2)这个条件了,因此不会运行 k=k+a[i][j];这一句程序,你可以这样改一下,将else去掉,这样就能避免这种情况出现。
#include<stdio.h> void main() {int j,i,k=0;
for(j=11;j<=30;j++) \/\/ f 用 j printf("%d ",j); \/\/添个空格,输出数据看起来 更清楚。