为什么c语言不能函数赋值 c语言为什么不能运行

C语言中关于结构体指针为什么不能在函数内赋初值的问题?【为什么c语言不能函数赋值 c语言为什么不能运行】struct st1*pst1;//问题在这句,这个指针pst1指向的类型是st1,而不是st,所以pst1 = st1是不可以的 , 自然 pst1-num也就不对了
#includestdio.h
struct st
{
int num;
}st1 = { 1 }, st2;
struct st*pst1;//是st* , 而不是st1*
void main() {
pst1 = st1;//放在局部,全局区是不能赋值的
printf("%d", pst1-num);
}
c语言中可不可以直接在函数首部直接给参数赋值不明白你为什么c语言不能函数赋值的意思……是不是类似于这样 int hello(char a,int i = 4,int m = 9){}为什么c语言不能函数赋值?
这样在c语言中是不可以的为什么c语言不能函数赋值,这是c++的概念,默认参数,使用方法如下:以上面的hello函数为例
hello(n);默认i=4 , m=9 。hello(n,5,23); 这里在函数中i = 5,m = 23.
就是说,如果调用时给参数赋值了,就使用赋值的,如果没有,就使用默认的
需要标明一点,这种函数参数表有个规则,就是所有的默认参数都靠后 , 即:int hello(int a = 1,int b,int c=23){} 是错误的……而且,使用时,也不可以跳过一个默认值给后面的值赋值,如:
int hello(char a,int b= 12,char c = 'd')如果想参数b使用默认而给c赋值,那么必须是hello(a,12,c),如果跳过赋值b,即:hello(a,c);就是错的,很好理解,这样就把c赋值给参数b了 , 一定报错 。
C语言中,为什么我编写的函数不能把变量赋值给实参?其实就是参数取值不对,i,j的初值应该为1,否则调用wordpick函数会失败
C语言结构数组问题 主函数的数组为什么赋值不了是为什么c语言不能函数赋值你对字符数组为什么c语言不能函数赋值的使用没有掌握 。xiao.name[i]是一个char类型为什么c语言不能函数赋值的数组元素为什么c语言不能函数赋值,不能将一个字符串常量的首地址赋值给它 。要将字符串保存到字符中为什么c语言不能函数赋值,应该使用strcpy函数 。
#includestdio.h
#includestring.h
struct liu
{
char name[20];
int age;
char sex[6];
float score;
}xiao;
int main()
{
strcpy(xiao.name,"zhoujielun");
xiao.age=29;
strcpy(xiao.sex,"man");
xiao.score=100;
printf("name=%s\n",xiao.name);
printf("age=%d\n",xiao.age);
printf("sex=%s\n",xiao.sex);
printf("%f\n",xiao.score);
}
关于为什么c语言不能函数赋值和c语言为什么不能运行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读