为什么提问必须30个字以上,没话了
三目运算符条件为0 走表达式2
但是你输出的是a(a值不变) 跟2没关系
因为你没有对a赋值,a的值是不变的,如果是这样,才是2
int a=0;
a=0?(a+2):2 ;
printf("%d ",a);
这样就是2了
#include <stdio.h>
void max(int a, int b);
int main(void) {
int a = 0;
a = 0 ? (a + 2) : 2;
printf("%d\n", a);
return 0;
}
你应该对啊a进行赋值,赋值用=,不是数学中的等号哦,在程序里叫赋值,意思是把等号右边的值,赋值给左边。我还是一名小学生,希望被采纳
第6行的这句条件运算,因为经条件运算后得到的结果没有被保存或赋值,相当于运行了一句空语句,对输出没有影响。
a的值没有参与运算,直接输出原值。
# include <stdio.h>
# include <string.h>
int main ( )
{
int b=1,i,k;
char str[800],ch;
printf("-------------------------------------------------------------------------------------------------------\n");
printf("\n\n 从键盘输入一串字符串,统计字符串中特定字符的个数(特定字符也需要从键盘输入),并输出个数。 \n");
printf("-------------------------------------------------------------------------------------------------------\n");
while (b==1) //进行循环输入分数
{
printf("\n请输入需要统计某个单词字符的单词或者句子\t");//提示输入
fflush(stdin);
gets(str);
printf("\n请输入需要统计的字符:\t");
scanf("%c",&ch);
i = 0;
k = 0;
while(str[i]!=0) //进行统计字符个数
{
if(str[i]==ch)
k++;
i++;
}
printf("\n您输入的单词或者句子为:\t %s\n\n想要检索个数的字符是:\tch = %c\n",str,ch);
printf("\n\n检索到的字符个数为\t%d",k++);
printf("\n_________________________________________________________________________\n");
printf("\nBRAEK(0) or CONTINUE (1):\t"); //确认是否循环
scanf("%d",&b);
printf("\n_________________________________________________________________________\n");
/*memset(str,0,sizeof(str));清除数组内容*/
}
return 0;
}