- Tìm số 0 đầu tiên trong một mảng bit
- Unix Hiển thị thông tin về các tập tin khớp với một trong hai mẫu
- Biểu thức chính quy thay thế nhiều tệp
- Ẩn lệnh từ xtrace
Có thể trùng lặp:
Hành vi không xác định và các điểm tuần tự
Theo định nghĩa trong tiêu chuẩn, E1 += E2 gần giống với E1 = E1 + E2, ngoại trừ việc E1 chỉ được đánh giá một lần. Vậy thì, ngoài ra, "p += (*p)++ + c"; dẫn tới hành vi không xác định?
Hãy thử đoạn mã sau trong gcc/g++ (4.7/4.4). Có hai kết quả: bxxxxx (g++4.7) hoặc axbxxx (gcc, g++ 4.4). Nếu chúng ta thực hiện (1) thay vì (2) trong mã, chúng ta sẽ chỉ nhận được axbxxx.
#include
int chính() {
char s[] = "axxxxx";
ký tự *p = s;
printf("s = %s lúc đầu.\n"
"p trỏ tới ký tự thứ %d.\n", s, p - s);
//p = p + (*p)++ * 3 + 2 - 'a' * 3; // (1)
p += (*p)++ * 3 + 2 - 'a' * 3; // (2)
printf("p được di chuyển về phía trước %d bước\n", p - s);
printf("s = %s sau khi thực hiện phép toán.\n", s);
trả về 0;
}
Tôi không thể tìm ra lý do tại sao nó lại gây ra hành vi không xác định và tôi không thể khẳng định rằng đó là lỗi trong gcc.
Đối với kết quả axbxxx, tôi cũng không hiểu tại sao toán hạng hoặc post ++ lại được đánh giá hai lần (một lần để lấy giá trị, sau đó là lưu giá trị). Vì tiêu chuẩn ghi là "1 ... được thêm vào", tôi nghĩ địa chỉ này chỉ nên được đánh giá một lần. Nếu địa chỉ của các toán hạng sau ++ chỉ được đánh giá một lần, hiệu ứng của biểu thức sẽ như nhau bất kể thứ tự thực hiện phép gán.
===Cập nhật===
Sau khi đọc tài liệu được liên kết trong bình luận đầu tiên, tôi nghĩ rằng quy tắc sau đây có thể quan trọng:
"2) Hơn nữa, giá trị trước đó chỉ được truy cập để xác định giá trị sẽ được lưu trữ." .
Vậy, việc truy cập p trong "p = p + (*p)++ * 3 + c" có được coi là một phần của "giá trị a priori" của *p, độc lập với giá trị được lưu trữ trong *p không?
Theo tôi, quy tắc này không bị phá vỡ.
Tôi đang cố gắng đọc dữ liệu từ Cassandra bằng Spark. DataFrame rdf = sqlContext.read().option("keyspace", "readypulse
Đây là mã: void i_log_ (int error, const char * file, int line, const char * fmt, ...) { /* Nhận lỗi
Tôi phải gỡ lỗi một chương trình phụ thuộc nhiều vào Gtk. Vấn đề là vì một lý do nào đó, tôi bắt đầu nhận được rất nhiều cảnh báo thời gian chạy khi sử dụng đối tượng GtkWindow. Vấn đề là ngay cả khi Gtk báo lỗi nghiêm trọng, nó vẫn không dừng khi gặp những lỗi này. Tôi không có lịch sử thay đổi cơ sở mã
Tôi đang cố gắng lấy mã nhị phân từ một chương trình đã được biên dịch và liên kết hiệu quả. Tôi đã nhận được độ dài của nó thông qua GL_PROGRAM_BINARY_LENGTH. Tài liệu cho biết có hai trường hợp GL_INVALID_OPERATION có thể xảy ra
Tôi có một dịch vụ được lưu trữ trên môi trường Azure. Tôi đang sử dụng ứng dụng bảng điều khiển để sử dụng dịch vụ. Khi thực hiện việc này, tôi nhận được ngoại lệ: "Dịch vụ được yêu cầu, 'http://xxxx-d.yyyy.be/S
Tôi có đoạn mã sau và nó bị tắt bởi tín hiệu SEGV. Sử dụng trình gỡ lỗi cho thấy nó bị tắt bởi lệnh sem_init() đầu tiên trong main(). Nếu tôi chú thích sem_init() đầu tiên, sem_init() thứ hai cũng gây ra vấn đề tương tự. Tôi đang cố gắng tìm ra điều gì
Hiện tại tôi đang viết một ứng dụng (dành cho iOS 6, hỗ trợ ARC) sử dụng JSON để truyền dữ liệu và Core Data để lưu trữ lâu dài. Dữ liệu JSON được mã hóa bằng tập lệnh PHP từ cơ sở dữ liệu MySQL bằng cách sử dụng json_encode.
Tôi vẫn còn rất mới với Xamarin.Forms. Tôi có một hàm rất đơn giản trên trang chủ xuất hiện async public Task BaseAppearing() { if (UserID
Sau đây là phiên bản đơn giản hóa của mã của tôi. lớp công khai MainActivity mở rộng ActionBarActivity { mục nhập ArrayList riêng tư = new Arr
Tôi đang cố gắng tìm hiểu lý do tại sao hai thư viện Java của tôi gặp khó khăn khi hoạt động cùng nhau. Đây là kịch bản: Thư viện 1 có lớp A với hàm tạo sau: public A(Object obj) { /* boilerplate */ }
Mã của tôi hoạt động tốt nếu trang web không yêu cầu xác thực, nếu có, tôi sẽ nhận được lỗi EXC_BAD_ACCESS ngay sau khi in "Đã tạo thông tin xác thực". Tôi sẽ không đăng bất cứ điều gì và mã này được sao chép trực tiếp từ tài liệu - bạn có biết điều gì đang xảy ra không
Tôi đang gặp sự cố khi đưa NSArray vào UITableView. Tôi chắc chắn mình đang làm điều gì đó ngu ngốc nhưng tôi không thể hiểu nổi. Khi tôi thử đếm đơn giản, tôi nhận được lỗi EXC_BAD_ACCESS, tôi biết điều này là do tôi đang cố gắng
Tôi có một UITextField trên UITableViewCell và một nút trên một ô khác. Tôi nhấp vào UITextField (bàn phím xuất hiện). UITextField gọi phương thức sau: - (BO
Tôi có một ứng dụng thỉnh thoảng bị sập. Nhật ký sự cố hiển thị dấu vết ngăn xếp mà tôi thấy khó giải mã nên hy vọng ai đó đã thấy điều này và có thể chỉ cho tôi hướng đi đúng. Về cơ bản, ứng dụng thực hiện yêu cầu mã hóa địa lý ngược khi khởi động để hiển thị vị trí của người dùng trong một tab.
Tôi đã phát triển một CGImage và nó hoạt động tốt khi chương trình hiển thị nó trên màn hình bằng cách sử dụng: [output_view.layer performSelectorOnMainThread:@selector(set
Tôi đang sử dụng lớp EncryptedSharedPreferences mới theo cách được Google khuyến nghị: private fun securePrefs(context: Context): SharedPrefe
Tôi có một bộ lặp với một số nút điều khiển bên trong, một trong số đó là hộp văn bản. Tôi đang cố gắng lấy một hộp văn bản bằng cách sử dụng jquery, mã của tôi trông như thế này: $("#").click(function (event) {}); nhưng tôi luôn nhận được nu
Lỗi khởi tạo TTS được quan sát thấy trong tình huống sau đây, quá ngẫu nhiên. Công cụ TTS đã được cài đặt, bộ giọng nói đã có và có thể phát các tt mẫu từ các tùy chọn trợ năng. Việc khởi tạo TTS ngẫu nhiên không thành công trên cùng thiết bị nơi nó đã được khởi tạo và phát trước đó. Trên các thiết bị khác nhau (
maven pom.xml org.openjdk.jol jol-core 0.10 Lớp Java: public class MyObjectData { pr
Độ dài chuỗi tối đa có thể sử dụng MD5 làm giá trị băm mà không lo xung đột là bao nhiêu? Điều này có thể được tính toán bằng cách tạo ra hàm băm MD5 cho mọi chuỗi có thể có trong một bộ ký tự cụ thể, với độ dài tăng dần, cho đến khi hàm băm xuất hiện lần thứ hai (xung đột). Không có xung đột
Tôi là một lập trình viên xuất sắc, rất giỏi!