在C语言中,下列代码的输出结果是( )。

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-27
c语言 以下程序输出结果

答案是40 因为你用malloc申请的空间是被s1和s2公用的 *s1 = 15 ; 这一句实际上是没用的,因为被20覆盖掉了 如果你的目的是想要答案为35,则应该改成这样
#include "stdio.h"
#include "stdlib.h"
main()
{
char *s1 , *s2 , m ;

s1=(char*)malloc(sizeof(char));

s2=(char*)malloc(sizeof(char));

*s1 = 15 ; *s2 = 20 ; m = *s1 + *s2 ;

printf("%d
",m);
}

1 1
不管下文你对f1f2两个变量执行什么操作,打印是在操作前进行的,这个值是不变的

void main()
{
int i=0,j=10;
for(i=0;i<j;i++,j--)
{
if(j==10)
{
printf(“%d,%d\n”,i,j); //第一次循环进入i=0,j=10
j--; //j=9
}
j++;
} /*从第二次循环开始先执行j++,后再执行括号中的j--,j保持值为9。i在第9次循环结束时,i=9,注意i先在循环体中自加等于9了之后,在第10次循环时判断i<j不成立,条出循环,最后i的值为9。*/
printf(“%d,%d”,i,j); //i=9,j=9
}

a

选 A

B

A

  • 在C语言中,下列代码的输出结果是( )
    答:i每次++,一共执行10次,从0到9,所以最后输出i和j是9,9
  • 在C语言中,下列代码的输出结果是( )。
    答:printf(“%d,%d”,i,j); //i=9,j=9 }
  • 在C语言中, 下列代码的输出结果是( ).
    答:printf(“%d”,num[2]+*p);//num[2]为30,*p也是num[2],所以是60 }
  • 在C语言中,下列代码的输出结果是( )。
    答:void main(){ int x[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",*s);} s=x+3;等价于 s=&a+3;等价于s=&a[0]+3;如果你的c课本是谭浩强的请看229页到230页;
  • c语言以下程序的输出结果是
    答:答案是8 因为形参不能改变实参,在ff函数中,虽然c变为15,但回到主函数中并没有因此而改变 主函数中ff(c+1,c++,c);这条语句运行完时,因为c++,所以c改变为8
  • 在C语言中,下列程序段的输出结果是( ) int x=0,y=0; switch(x==y)
    答:选择B 真值在C语言中与1对等, 所以进入case 1分支
  • 在C语言中,下列语句的输出结果是( )。 解释一下详细? 尤其是这个strlen...
    答:结果为9 A、T、S,\n(回车换行),0,1,2,\1(输出一个特殊字符),\ 共9个字符,C语言中\字符作为转义字符使用。
  • 在C语言中,下列语句的输出结果是( )。 printf("%d\n", strlen("ATS\n...
    答:7 strlen函数返回字符串的长度,不包括结尾符'\0',\为转义符,表示对它后面的一个字符进行转义,所以\n、\12、\\分别表示回车、8进制的12(十进制的10)和'\',均表示一个字符,所以长度为1。所以,这个字符串的长度为3 (ATS)+ 1(\n)+ 1(\12)+ 1(\1)+ 1(\\)= 7 ...
  • C语言,下列程序的输出结果是().
    答:赋值语句的返回值是所赋的值,因此形如a=b=10才能满足我们所期望的结果。
  • 在C语言中,下列语句的输出结果是( )。 printf("%d\n", strlen("ATS\n...
    答:这句话的意思是:%d,strlen 是函数库的一个函数,要来求字符串的长度(不包括\0).整句话就是以十进制格式输出"ATS\n012\1\\"的长度是9