c语言变量可以给自己赋值吗?

在《C程序设计语言》第37页看到这么一个函数/* squeeze函数:从字符串s中删除字符c */void squeeze(char s[], int c){ int i,j; for (i = j = 0;s[i] != ✀尀0✀; i++) if (s[i] != ✀c✀) s[j++] = s[i]; s[j] = ✀尀0✀;}当 j 和 i 还相等的时候, s[j++] = s[i]不是自己给自己赋值吗,这样可行吗?
2026年09月28日 03:24
有4个网友回答
网友(1):

可以啊,但是这样就没意义了,因为里面的值没有改变,但是有时候是程序需要

网友(2):

变量有左值和右值,=号左边用左值,指的是变量的地址,右边用右值,是变量的值
例:a = a; 指的是先取出右边a的值存入左边a的地址

网友(3):

只有变量和符号常量才能放在赋值号的左端。所以你的提法就是错的。

网友(4):

当然可以啊