小编cuo*_*gtn的帖子

使用带有后增量的指针复制字符

最近我一直在学习C和指针.

在Stephen G. Kochan撰写的"C编程"一书中,我遇到了一个例子,我很难完全理解它.

要使用指针将字符串复制from到字符串to,示例表明:


void copyString (char *to, char *from) {
    while ( *from ) 
         *to++ = *from++;

    *to = '\0'; 
}
Run Code Online (Sandbox Code Playgroud)

在我的理解中,*from++是一个后增量*from; 因此,价值*to++应该*from只是.

例如,如果

`*from` is in the position 1.

`*from++` is in position 2

`*to++` in position 2, 
Run Code Online (Sandbox Code Playgroud)

但是:*from++ = *to++应返回的值*from作为*to位置1,而不是2.

编译器说这是第2位,该书还说它的位置是2.

我在这里有点困惑.你对这个案子有什么可行的解释吗?

c pointers post-increment

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

Rspec中expect和is_expected.to的区别

这些关键字有什么区别。

在下面的例子中,使用expect通过了测试,而is_expected.to失败了。

it { expect validate_uniqueness_of(:access_token) }

it { is_expected.to validate_uniqueness_of(:access_token) }

测试类User,由 Devise 生成

class User < ActiveRecord::Base
  devise :lockable, :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable

  validates :access_token, uniqueness: true

  before_validation :generate_access_token!, on: :create

  def generate_access_token!
    begin
      self.access_token = Devise.friendly_token
    end while User.find_by(access_token: self.access_token)
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails

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

标签 统计

c ×1

pointers ×1

post-increment ×1

rspec ×1

ruby ×1

ruby-on-rails ×1