c语言输出结果,并解释每句话的意思?

供稿:hz-xin.com     日期:2025-01-12
求解释下这个C语言每句话的意思

#include
void main()
{
int x; // 声明整型变量
char c[5]; // 声明字符数组
scanf("%d",&x); // 输入整数
if (x&2==0) strcpy(c,"no"); // 如果输入的整数低位数起第二位为0,拷贝"no"给c
else strcpy(c,"yes"); // 否则拷贝"yes"给c
printf("%s
",c); // 打印字符串s
}

#include //包含头文件
void one();
void two(); //声明函数
void main() //主函数
{ char k; //声明字符变量K
printf("choose
a 1
b 2
");
//输出到屏幕: choose
a1
b1


scanf("%c",&k); //读入K
switch(k)
{
case'a':one();break; //若K是a则调用函数ONE
case'b':two();break; //若K是b则调用函数TWO
}
}
void one()
{
int a,b,c;
for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
if((a&&a+b+c==2||!a&&a+b+c!=2)
&&(b&&a+b+c==1||!b&&a+b+c!=1)
&&(c&&a+b+c==1||!c&&a+b+c!=1))
{
printf("A is a %s.
",a?"honest":"lier");
printf("B is a %s.
",b?"honest":"lier");
printf("C is a %s.
",c?"honest":"lier");
}
getch();

}
void two()
{
int a,b,c,d;
for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
for(d=0;d<=1;d++)
if((a&&a+b+c+d==0||!a&&a+b+c+d!=0)
&&(b&&a+b+c+d==3||!b&&a+b+c+d!=3)
&&(c&&a+b+c+d==2||!c&&a+b+c+d!=2)
&&(d&&a+b+c+d==1||!d&&a+b+c+d!=1))
{
printf("A is a %s.
",a?"honest":"lier");
printf("B is a %s.
",b?"honest":"lier");
printf("C is a %s.
",c?"honest":"lier");
printf("D is a %s.
",d?"honest":"lier");
}
getch();
}

{file *fp;//定义文件指针变量fp
char str[]="hell0";//字符串“hell0”赋给str
fp=fopen("prn","w");//以写入得方式打开文件prn,并将fp指向该文件
fputs(str,fp);//将str写入fp指向的文件中(prn)
fclose(fp);}//关闭文件prn并且释放指针fp
这个是文件的一般操作,先定义指针,然后打开文件(fopen这个函数)并让指针指向文件,再然后就是对文件经行操作,上面是将hell0字符串写入文件prn中,最后释放指向文件的指针,关闭文件。这个时候你的prn文件已经被写入hell0了,如果你打印这个文件的话的话,当然打印出来的是hell0

{
file *fp;//定义一个指向FILE类型的指针
char str[] ="hello ";//定义一个字符串“hello”
fp=fopen("prn","w");//以只写的方式打开文件prn
fputs(str,fp)//将字符串str写入fp所指的文件
fclose(fp);关闭fp所指的文件
}
"w"以只写的方式,创建并打开文本文件,以存在的文本文件将被覆盖,该方式打开的文件时,无论文件是否存在,都需要创建一个新的文本文件,只能写入数据。所以,打印出来的就是“hello”了

{file *fp;//文件指针变量fp
char str[]="hell0";//字符串str
fp=fopen("prn","w");//以写入得方式打开文件prn,并将fp指向该文件
fputs(str,fp);//将str写入fp指向的文件中(prn)
fclose(fp);}//关闭文件prn


c语言输出结果,并解释每句话的意思?
这个是文件的一般操作,先定义指针,然后打开文件(fopen这个函数)并让指针指向文件,再然后就是对文件经行操作,上面是将hell0字符串写入文件prn中,最后释放指向文件的指针,关闭文件。这个时候你的prn文件已经被写入hell0了,如果你打印这个文件的话的话,当然打印出来的是hell0 ...

C语言:写出程序运行结果并解释为什么
include <stdio.h>#include <stdlib.h>int main(){int a,b,c;float d=15,e,f;a=35%7;\/\/\/0 35除以7 余数是0b=15\/10;\/\/int类型计算结果舍弃小数部分 结果是 1c=b++;\/\/ 先使用b的值b在+1 c=1 b=2e=15\/10;\/\/ 1.000,因为15 和 10 都是int类型 计算结果是int ...

C语言指针输出题,求运行结果,解释为什么是该结果:
\/\/首先输出a指向位置的一个字符,再从b+1处开始输出字符串,直到遇到'\\0'\/\/a指向"PROGRAM"的首地址,所以输出的那个字符就是P \/\/b+1的作用与&b[1]相同,就是数组b的第二个元素的地址,也就是'r'的地址 \/\/所以,接下来输出的就是"rogram"再来解释第二个输出:int i = 0;while (putchar...

C语言程序 输出结果,求大神详细解释
回答:#include <stdio.h>void fun(int p)\/\/注意所有符号要是在英文状态下输入{int d=2;p=d++;\/\/先把d赋值给p 所以p=2,再d自加1 printf("%d",p);\/\/输出2}main(){int a=1; fun(a); printf("%d\\n",a);\/\/这里的a并没有改变 输出1}\/\/输出结果是21

C语言:写出程序运行结果并解释为什么
330 溢出,等价于d=330-256;include <stdio.h>#include <stdlib.h>int main(){char f,e;f=330-256;\/\/\/char 一位范围0-255 330 溢出,等价于d=330-256;e='\\141';\/\/'\\141'就是 97int a='\\141'-97;\/\/要是相等则输出为0printf("%d ,%c,%d",a,f,e);return 0;} ...

C语言代码求注释及解释
while(*t!=0)t++;\/\/如果*t指向的字符不为空则地址加加,只是为了把指针直到ss的末尾,字符串是以'\\0'为结束符的,并且(*t!=0)其实就是*t!='\\0',这句执行完后,指针就指向了'\\0'的位置 while(*t++=*s++)!=0);\/\/在t指向的字符串尾部把s指向的字符串拼接上。第一次,把s...

求解释c语言输出结果
一开始,p指向a[0],k指向p的地址。第一个printf语句,输出2以后p的值自增,其值指向4。k是一个二级指针,它是指向指针的指针,k指向p(p是一个指针)第二个printf语句,输出的是**k,(相当于输出*(*k),即*p)所以就输出一个4。总的,应时输出了24,选答案C ...

在C语言中,下列语句的输出结果是( )。 printf("%d\\n", strlen("ATS\\n...
这句话的意思是:%d,strlen 是函数库的一个函数,要来求字符串的长度(不包括\\0).整句话就是以十进制格式输出"ATS\\n012\\1\\\\"的长度是9

printf的输出结果是什么?
语句printf("a\bre\'hi\'y\\\bou\n"); 的输出结果是( re'hi'you(回车) )。1、a:输出字符'a',显示:a。2、\b:退格符,回退copy一个字符,上面显示的a被回退,显示:空。3、r:输出字符'r',显示:r。4、e:输出字符'e',显示:re。5、\':转义字zd符,...

C语言题:求结果,要给出解释
++运算符不能作用在一个右值上。但并不是所有表达式都返回右值。赋值表达式返回的就是左值,如果这样写:(a=3)++; 这句程序是正确的,可以通过编译。因为(a=3)是赋值表达式,返回左值,而++运算符正好作用于一个左值。第二题:B 。c++的意思是先返回c的值,然后再将c加1。