Trong đoạn mã sau:* (a ++) đang đưa ra lỗi nhưng không * (a + 1) ?? trong đó một tên mảng là gì?
void main()
{
char a[]={1,5,3,4,5,6};
printf("%d\n",*(a++)); //line gives error: wrong type argument to increment
printf("%d\n",*(a+1));
}
sự khác biệt giữa dòng 4 và dòng 5. Tôi không nhận được bất kỳ lỗi hoặc cảnh báo với dòng 5.
Tôi không giỏi trong C, nhưng có lẽ bạn không thể tăng gấp đôi (ví dụ: toán tử '++'). – Voitcus
Hoàn toàn tắt chủ đề nhưng 'void main()' == bad! Khi bạn nghĩ rằng 'void main()', hình ảnh ai đó đang đập bạn bằng một cây gậy. 'int main()', luôn luôn! – Yuushi