您的位置:

c语言以0结束,c语言表达式为0

本文目录一览:

0是C语言字符串结束标志?

这么说吧,'\0'是字符串数组的结束标志,而0则是'\0'的ASCII码表示,是第一个ASCII码,数字0的ASCII码是48,所以写程序你要用'\0'结尾,比如char

a[3]

=

{'h','i','\0'},或者直接char

a[]

="hi",编译器都会认为是字符串数组,且以'\0'结束。你调试程序时,可以看到内存里面是0,这是ASCII码的表示,也可以看作是一个unsigned

int类型。

c语言输出的最后总是以“0”结尾是为什么?

你的程序写的有问题,我重新改下,测试通过。你的程序主是由于对scanf函数对字符串的输入接收理解不正确。你的:for(i=0;i2;i++)

scanf("%s,%s,%c,%d",sa[i].name,sa[i].num,sa[i].sex,sa[i].age);

我更改后的:for(i=0;i2;i++) {

printf("第%d位,name:", i+1);

gets(sa[i].name);

printf("第%d位,num:", i+1);

gets(sa[i].num);

printf("第%d位,sex[w,m]:", i+1);

scanf("%c",sa[i].sex);

printf("第%d位,age:", i+1);

scanf("%d",sa[i].age);

getchar();}[新的程序]#includestdio.h

#includestdlib.h

struct student

{char name[20];br char num[15];br char sex;br int age;br}sa[2],sb[2];

void main()

{FILE *fp;brint i, j;brif((fp=fopen("stu_list","w+b"))==NULL)br{printf("Can't open the file!");br exit(0);br}

printf("input:name num sex age\n");

for(i=0;i2;i++) {//main change

printf("第%d位,name:", i+1);

gets(sa[i].name);

printf("第%d位,num:", i+1);

gets(sa[i].num);

printf("第%d位,sex[w,m]:", i+1);

scanf("%c",sa[i].sex);

printf("第%d位,age:", i+1);

scanf("%d",sa[i].age);

getchar();}

fwrite(sa,sizeof(struct student),2,fp);

rewind(fp);

fread(sb,sizeof(struct student),2,fp);

for(i=0;i2;i++)

printf("%s,%s,%c,%d\n",sb[i].name,sb[i].num,sb[i].sex,sb[i].age);

fclose(fp);

}

C语言输入0结束

#includestdio.h

void main()

{

int i, n, m, j = 0, h = 0;

printf("输入个数n\n");

while (scanf("%d", n)){

if (n == 0)break;

printf("输入数字,中间以空格隔开\n");

{

for (i = 0; i  n; i++)

{

scanf("%d", m);

if (m % 2 != 0)

{

j++;

}

else

{

h++;

}

}

}

printf("奇数:%d\n", j);

printf("偶数:%d\n", h);

}

}

C语言如何实现输入数据有多组,输入以0 0结束。

可以循环输入数据,当遇到输入的值均为0时结束输入。

以输入整型为例,代码如下:

int a,b; //用来存输入的数据。

while(1)

{

scanf("%d%d",a,b);//以0 0结束输入,所以输入时是以空白字符分隔的。

if(a == 0 b == 0) break; //当输入的全为0,结束输入。

//在这里添加使用输入数据的代码。

}

C语言 关于当输入0时结束程序的问题知道

1、(scanf("%d",a)!=0)

的意思是:scanf("%d",a)这个操作没有不成功,成功录入则为1,失败则为0;与输入是否为0是不同概念,请注意区分。

2、如果要输入为0结束可改为:

int

a,

.......;

scanf("%d",a);

while(a!=0){

.................

scanf("%d",a).;

}

c语言:输入若干正整数,以0结束

/*c语言:输入若干正整数,以0结束.......by Mr.Kong*/ 

#includestdio.h

#define M 100

int arrin(int *a) /*将输入的整数赋值到数组中,并计算整数的个数*/ 

{

int i=0;

printf("输入整数:");

scanf("%d",a[i]);

while(a[i]!=0) /*以0结束输入*/ 

{

i++;

scanf("%d",a[i]);

}

return i;

}

arrout(int *a,int n) /*输出输入的整数*/ 

{

int i;

printf("输出整数:");

for(i=0;in;i++)

printf("%d ",a[i]);

}

main()

{

int n,a[M];

n=arrin(a);

arrout(a,n);

}

/*其他方法,仅有输入,判断不为0,无输出*/

#includestdio.h

main()

{

int a=1;

while(a!=0)

{

printf("请输入一个正整数:");

scanf("%d",a);

}

}