这段代码请帮我翻译成c语言:x, y = 0, 0 while True: try: string = input() x, y = x + string.count('X'), y + string.count('Y') except: break
时间: 2023-03-28 13:04:34 浏览: 67
以下是代码的 C 语言翻译:
int x = , y = ;
while (1) {
char string[100];
if (scanf("%s", string) == EOF) {
break;
}
x += count_char(string, 'X');
y += count_char(string, 'Y');
}
int count_char(char* string, char c) {
int count = ;
for (int i = ; string[i] != '\'; i++) {
if (string[i] == c) {
count++;
}
}
return count;
}
相关问题
C语言里面y=x>0?1:(x==0?0:-1)是什么语句,它描述了什么功能
这是一个三目运算符,也叫条件运算符。它描述了根据变量 x 的值来决定变量 y 的取值。
具体来说,如果 x 大于 0,那么 y 的值为 1;如果 x 等于 0,那么 y 的值为 0;如果 x 小于 0,那么 y 的值为 -1。
这个语句的作用是将一个数值型变量 x 转换成一个三态变量 y(分别为 1、0、-1),常用于数值处理和逻辑判断。
c语言中定义x=1,y=2,z=3;表达式(x<y?x:y)==z的输出值是多少
根据运算符的优先级,条件运算符 `?:` 的优先级较低,因此表达式 `(x < y ? x : y) == z` 的计算顺序为:
1. 首先计算条件表达式 `x < y`,因为 x 的值为 1,y 的值为 2,所以条件表达式的值为 1。
2. 然后根据条件表达式的值,选择表达式 `x : y` 的值。因为条件表达式的值为 1,所以选择 x 的值作为结果。因此,表达式 `(x < y ? x : y)` 的值为 1。
3. 最后将表达式 `(x < y ? x : y)` 的值与 z 的值进行比较。因为 `(x < y ? x : y)` 的值是 1,而 z 的值是 3,所以表达式的结果为 0(假)。
因此,表达式 `(x < y ? x : y) == z` 的输出值是 0。