What does this code do?
4 phương ánCó giải thích
char names[10][31];
gets(names[0]);Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "Takes a line of input into names[0]". Khai báo names là mảng hai chiều gồm 10 hàng, mỗi hàng 31 ô ký tự, nên names[0] là hàng đầu tiên và khi dùng trong biểu thức nó suy biến thành con trỏ tới ký tự đầu của hàng ấy. Hàm gets đọc một dòng từ dòng nhập chuẩn, bỏ ký tự xuống dòng rồi đặt dấu kết thúc chuỗi, nên nội dung người dùng nhập nằm trong hàng đầu. Mô tả "Takes input into all 10 strings" cần một vòng lặp gọi mười lần, còn một lời gọi chỉ ghi vào đúng hàng được truyền. Mô tả "Fails to compile" không đúng về cú pháp: dòng mã hợp lệ và kiểu đối số khớp, dù phải biết rằng gets đã bị loại khỏi chuẩn từ bản năm 2011 vì không chặn được tràn khi dòng nhập dài hơn 30 ký tự. Mô tả "Only stores 1 character" lẫn chỉ số hàng với số ký tự: số 0 là chỉ số hàng, còn mỗi hàng chứa được tới 30 ký tự cùng dấu kết thúc.
Cùng phần 8
Which statements are correct when copying string s1 into s2 manually?(Choose 2 correct answers)Có lời giảiCâu hỏiWhich condition increases the word count in a sentence?
#include <stdio.h>
#include <string.h>
int main() {
char s[1000];
int i, count = 0;
printf("Enter a sentence: ");
fgets(s, sizeof(s), stdin);
for (i = 0; s[i] != '\0'; i++) {
if (condition???) {
count++;
}
}
printf("Total words: %d\n", count);
return 0;
}Có lời giảiCâu hỏiHow can you initialize a character array in C?Có lời giảiCâu hỏiCả 29 câu của chủ đề29 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây