#include
#include
int top=0;
int fun1()
{
char a[]= {'a','b','c','(','d'};
return a[top++];
}
int main()
{
char b[10];
char ch2;
int i = 0;
while (ch2 = fun1() != '(')
{
b[i++] = ch2;
}
printf("%s",b);
return 0;
}
(A) abc(
(B) abc
(C) 3个特殊字符,ASCII值为1
(D)空弦答案: (C)
说明: ‘!=’的优先级高于’=’。因此将表达式“ ch2 = fun1()!=’(’”视为“ ch2 =(fun1()!=’(’)”。因此将“ fun1()!=’(’”)的结果分配给ch2 。对于前三个字符,结果为1。微笑字符的ASCII值为1。由于对于前三个字符,条件为true,所以您得到三个表情符号。
如果我们在while语句中加上方括号,则会得到“ abc”。
#include
#include
int top=0;
int fun1()
{
char a[]= {'a','b','c','(','d'};
return a[top++];
}
int main()
{
char b[20];
char ch2;
int i=0;
while((ch2 = fun1()) != '(')
{
b[i++] = ch2;
}
b[i] = '\0';
printf("%s",b);
return 0;
}
此修改后的程序将打印“ abc”
这个问题的测验