
不懂可追问
#include<stdioh>
void sub1(char a,char b) // 交换的只是实参,跟形参的值毫无关系,因此两个值不改变
{
char c;c=a;a=b;b=c;
}
void sub2(char a,char b) // b是以值传递进来的,因此改变形参b不会改变实参b的值,因此,b不变,a是传地址,改变了其值为b,因此最终a和b的值相同
{
char c;c=a;a=b;b=c;
}
void sub3(char a,char b) // 交换两个地址的值,因此可以让两个值交换
{
char c;c=a;a=b;b=c;
}
void main()
{
char a,b;
a='A';b='B';sub3(&a,&b);putchar(a);putchar(b);
a='A';b='B';sub2(&a,b);putchar(a);putchar(b);
a='A';b='B';sub1(a,b);putchar(a);putchar(b);
}
1、初始化时进行赋值。
int a[2] = {1,2};char str[20] = "hello world";
2、逐个赋值
int a[4];a[0] = 1,a[1]=2, a[2] = 3, a[4]=4;
等同于。
for (int inx=0; inx!=4; ++inx) a[inx]=inx+1;3、通过函数复制数据以实现赋值
比如下面的代码,通过memcpy函数来实现数据的复制,以实现数组赋值的功能。
#include <stdioh>#include <stdlibh>
#include <stringh>
int main()
{
int inx;
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int b[5];
//复制4个元素,b[4]将是随机值
memcpy(b, a, 4 sizeof(int));
for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);
printf("\n");
memcpy(b, a+4, 5 sizeof(int));
for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);
printf("\n");
return 0;
}
#include<iostream>
using namespace std;
class A
{
public:
A(){}
A(int a):aa(a){}
A(const A &a)
{
aa =aaa;
}
private:
int aa;
};
void main()
{
A a[100],b(3);
a[50]=b;
}
C语言 形式逻辑不成立(C语言的缺点!)。
int a[ 10] ,p=a; 是声明,声明中 p=a 表示p是指针,初始化把a数组的首地址赋给它。
p=a;是语句,不是声明,形式一样,就不行了!
因为 语句 里,p 表示p 指向的 值。
同样的形式,意思不同,形式逻辑不成立,(C语言的缺点!)。
初学者,人人遇到这个问题!
vfp 不需要进行数据类型的定义。
例如:A=4,它默认的A就是数值型。B="4",它就是字符型。
给A B C三个字母赋,直接写即可:
A=4
B=5
C=6
如果想在屏幕输入A B C的值
请用 input命令
例如:input "请输入A的值" to A
用位运算,先与后或
例如 a=a&0xffffff00 这样其低两字节会清零
然后 a=a|0x000000ef 这样其低两字节会置ef,要赋其他值相应改动即可
甚至 不一定是整字节的改变,可以改变任意的若干位,只要设计好与,或得值即可
以上就是关于c语言 程序 怎么赋值的过程 解释一下全部的内容,包括:c语言 程序 怎么赋值的过程 解释一下、C语言一维数组赋值方法、c++定义一百个对象,为其中一个赋值程序怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)