C语言很简单很简单的问题13

作者&投稿:衡若 (若有异议请与网页底部的电邮联系)
//我规范了你的写法
#include<stdio.h>
int t(int x,int y,int cp,int dp);
/*在main之前声明函数,这样main才能知道有这个函数,才能执行或在main之前定义函数,你采用的就是在main之前定义的函数*/
int main()
{
int a=4,b=3,c=5,d=6;
t(a,b,c,d); //调用他不能改变实参的值
printf("%d%d\n",c,d); //c,d的值不变
return 0;
}
int t(int x,int y,int cp,int dp)
{
cp=x*x+y*y;
dp=x*x-y*y;
return 0;
}
要想改变C,d的值,把t函数改成这样
int t(int &x,int &y,int &cp,int &dp){……} 记得把前面声明函数部分也得改成这样,

第二个问题 相同
#include<stdio.h>
int func(int &x);
int main()
{
int x=10;
func(x);
printf("%d\n",x);
return 0;

}

int func(int &x)
{
x=20;
return 0;
}
//你的书写格式 等等 写法有严重问题,intx; 根本就不行 int x;

1. 要用指针
改为int t(int x,int y,int *cp,int *dp);
*cp=x*x+y*y
*dp=x*x-y*y
调用改为t(a,b,&c,&d);

2.还是要用到指针并且把函数原型声明在main函数前面
改为func(&x);
函数为void func(int *x);
*x=20;

第一个 经过调用函数的运算后 没有返回值 所以c d的值没变

第二个用不到调用函数吧 因为计算机是读 main的 而且是从main之前找函数 后面的函数 计算机不会读的 应该输出10

可能不对 我好久没玩 C语言了

地址与内容的问题

C语言的问题++++新手问题 很简单的~

呵呵,这个问题确实是基础的东西,你是一些概念没弄清楚,首先你要弄清楚K=017和K=17不是一个道理,K=017其实是K=15因为十进制前面加个0就是八进制了!然后%x是把g的结果以十六进制的形式输出的,而++在g后边,所以在输出的时候还没有参与运算,所以结果是16 6F,至于为什么不是18我想你是处在进制没弄清楚,为什么不是1C我就不知道你为什么会得到1C了,我怎么想也想不到你怎么得出1C的

规定就是这样的,二进制应该是跟B的,而不是10开头

上面修改了以下,你看看,符合你要求不:
#include
#define A 100
int main()
{
char *a[]={"AAA","BBB","CCC","DDD"};
for(int j=0;j<4;j++)
printf("%s
",a[j]);
return 0;
}


下面修改了以下:

#include
#define A 100
int main()
{
char*P;
int j;
char *a[]={"AAA","BBB","CCC","DDD"};
P=*a;
for(j=0;j<4;j++)
printf("%s
",a[j]);
return 0;
}

一道C语言很简单的题目,懂C语言的进来帮忙解下
答:那我们看这里,可以分成三部分(a++<b) ? (a++):(c<d?a++:d)。而后面的(c<d?a++:d)又可以分成三部分(c<d) ? (a++):(d)。我们先看第一个式子,如果是正确的,那么选择a++,如果是错误的就选择(c<d?a++:d)。很显然,如果是选择了(c<d?a++:d),那么还要进行一次...

很简单的C语言问题
答:这个题目不应该用阶乘和幂函数。最好是用一个double计算单项的值 ax,一个double计算求和值result。一直计算单项,下个单项由上个单项求出,加到求和值上。循环由单项的绝对值大小控制,比如设置ax绝对值小于0.0001时跳出循环。C++写的,可以过,不过就是x稍大点就溢出了,用递推式算比较好。include<...

C语言很简单的问题
答:include <stdio.h> int main(){ int a,b,s;scanf("%d%d",&a,&b);a=a;b=b;s=a+b;printf("\n");printf("%d,%d,%d\n",a,b,s);return 0;} 这样去掉 scanf("%d,%d",&a,&b);2个%d中间的逗号 或者输入12,23 输出就是12,23,35 ...

c语言很简单一个问题
答:上面是n+1次。进入时是1,当循环到n+1时发现>n退出。1~n+1共n+1次。中间是n(n+1)次。上面循环到1~n时进入中间,中间循环同理也是n+1次,进入了n次,所以N(n+1)。下面是只有上面两层都是1~n才进入,因此是n*n次。

很简单的C语言问题!
答:这个其实你可以理解成两部分,一部分是计算遍历到的值知否是质数,如果是质数,就s+=sqrt(m),这样记起来才对呀,比如下面代码是不是就清晰多了 //!判断是否是质数 bool IsZhiShu(int _nValue){ int i;int k=sqrt((double)_nValue);for(i=2;i<=k;i++)if(_nValue%i==0) break;if(i...

c语言很简单的问题。不知道哪里错了。
答:int a[3][4]; //这里已定义了,你还定义下面的?把下面int去掉 a[0][0]=0;//下面改0为1是因为你已对a[0][0]直接赋值了。for(i=1;i<=2;i++) //把i=0改为i=1 { for(j=1;j<=3;j++) //把j=0改为j=1 scanf("%d",&a[i][j]);} ...

请教一个很简单的c语言问题,我是初学者
答:仅分析第二条语句printf("a%cb%c\bc%c\tabc\n",c1,c2,c3); } 其中a输出a-》“a”,c输出c1也就是a-》“aa”,b输出b-》“aab”,c输出c2也就是b-》“aabb”,\b输出退格,把上一个b擦掉了-》“aab”,c输出c-》“aabc”,c输出c3->"aabcc",\t输出TAB符号,前进八个空格-...

c语言很简单一个问题
答:第一个For循环,一共需要执行判断(n+1)次,但是第(n+1)次,因为不满足循环条件,不执行循环体里的程序。也就是说,第一层循环体内执行了n次。第二个For循环,一共需要执行判断(n+1)次,但是第(n+1)次,因为不满足循环条件,不执行循环体里的程序。也就是说,第二层循环体内执行了n次...

很简单的C语言问题求助
答:include<stdio.h>void main(){ int a,b,c,num;//变量sum? scanf("%d%d%d",&a,&b,&c); //输入函数??? a=a*100,b=b*10; //只有百位和十位需要扩大倍数 num=a+b+c; printf("%d",num);}

很简单很急的一个c语言的问题,问一下if(t==s[i].mz)这里的问题。如果还...
答:两个问题:一.strcmp()才能用于字符串比较;二.定义的结构体不太合理,且int cbn[1],是不能用%s输出s.cbn的。include<stdio.h> include<string.h> define NUM 1 typedef struct { char mz[48];char zz[48];char bh[48];char cbs[48];int cbn;//int cbn[1]是不是显得画蛇添足了?