相关疑难解决方法(0)

"while(*s ++ =*t ++)"如何复制字符串?

我的问题是,这段代码是做什么的(来自http://www.joelonsoftware.com/articles/CollegeAdvice.html):

while (*s++ = *t++);
Run Code Online (Sandbox Code Playgroud)

网站说上面的代码复制了一个字符串,但我不明白为什么......

它与指针有关吗?

c

55
推荐指数
5
解决办法
3万
查看次数

对解除引用的指针进行后递增?

试图理解C中指针的行为,我对以下内容感到有点惊讶(下面的示例代码):

#include <stdio.h>

void add_one_v1(int *our_var_ptr)
{
    *our_var_ptr = *our_var_ptr +1;
}

void add_one_v2(int *our_var_ptr)
{
    *our_var_ptr++;
}

int main()
{
    int testvar;

    testvar = 63;
    add_one_v1(&(testvar));         /* Try first version of the function */
    printf("%d\n", testvar);        /* Prints out 64                     */
    printf("@ %p\n\n", &(testvar));

    testvar = 63;
    add_one_v2(&(testvar));         /* Try first version of the function */
    printf("%d\n", testvar);        /* Prints 63 ?                       */
    printf("@ %p\n", &(testvar));   /* Address remains identical         */
}
Run Code Online (Sandbox Code Playgroud)

输出:

64
@ 0xbf84c6b0

63
@ 0xbf84c6b0 …
Run Code Online (Sandbox Code Playgroud)

c pointers operator-precedence

51
推荐指数
6
解决办法
4万
查看次数

C++中i ++和(i)++之间的区别

int i = 3;
int j = (i)++;
Run Code Online (Sandbox Code Playgroud)

VS

int i = 3;
int j = i ++;
Run Code Online (Sandbox Code Playgroud)

虽然上面两个例子都存储了3个__CODE__,但上述两个案例的评估方式是否存在差异?

既然__CODE__是a __CODE__,那么__CODE__第一种情况是否会被评估为表达式,这相当于递增rvalue?或者它是未定义的行为,只是恰好存储3 __CODE__

或者我是否过度思考它只是一个简单的后缀?

c evaluation increment language-lawyer

49
推荐指数
2
解决办法
6222
查看次数

*C中的Vs ++优先级

我无法理解以下C代码的输出:

#include<stdio.h>
main()
{
   char * something = "something";
   printf("%c", *something++);  // s
   printf("%c", *something);    // o
   printf("%c", *++something);  // m
   printf("%c", *something++);  // m
}
Run Code Online (Sandbox Code Playgroud)

请帮忙 :)

c pointers

1
推荐指数
2
解决办法
251
查看次数

如何在*d ++ =*s ++中解释运算符的优先级

我对表达感到困惑*d++=*s++.如何承担它.

int main()
{
    char s[20]="hello,world";
    char d[20];
    char *src=s;
    char *des=d;
    while(*src) *des++=*src++;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

-1
推荐指数
1
解决办法
229
查看次数