www.rtmj.net > C++语句:whilE ((s[i]=gEtChAr())!=&Apos;\n&Ap...

C++语句:whilE ((s[i]=gEtChAr())!=&Apos;\n&Ap...

不可以, 因为cin 输入字串时不能带空格,空格表示字串结束.这样就没法输入空格了,而原有的格式是可以输入的.

char *p,s[20]; //定义一个指向字符的指针p,同时定义一个可容纳19个字符的字符数组swhile((s[i]=getchar())!='\n') i++; //这是一个循环句,输入一个字符,如果这个字符不等于换行符'\n',//把循环变量i的值加1,直到输入的值等于\n,循环结束.while(*p!=10) //当指针p指向的变量的值不等于10,执行循环内容

加一个括号差不多就可以了=的优先级还是挺低的while((c=getchar())!='\n'){}

while (getchar()!='\n') ; 表示循环读入字符,直到读到回车符结束循环.我们在输入一个数据时,一般都会按回车来确认输入结束,可是scanf()函数对最后的回车确认符并不丢弃,而是存储在缓存中,这样如果,下一个操作是读字符操作,

不能连着写,这是新手最会弄错的,应该这样while('0'<=(s[i]=getchar())&&(s[i]=getchar())<='9'),当年我也错过 #include <iostream> using namespace std; #include <stdio.h> #include <string.h> void main() { char s[2][4]; int i,j,n=0; for(i=0;i<2;i++) {

while循环格式:while( u != 'n' ) // 小括号内为循环条件 u不等于 字符 n 的情况下,执行下方循环体{ ; // 循环体 ; ; continue; // 表示跳出本次循环,执行下次循环 如果写为break; //则表示直接跳出while循环 ,继续执行 循环外的下一条语句

因为赋值符的优先级最低,所以前面那个c获取的是输入的字符,后面那个得到的是getchar()!='\n'表达式判断结果.

答: while ((str[i]=getchar())!='\n') 中(str[i]=getchar()) 的作用是取得 getchar() 函数的返回值,并非为字符数组 str[80]赋值,而函数 getchar() 的返回值是int类型,所以用字符数组取得返回值本身就是错误的.

就是从标准输入循环读取字符,直到读取到'\n'(也即回车)为止.

答案是:66:88#include main() { int c;while((c=getchar())!='\n') //读取一个键盘输入的字符,如果不是换行符,进入下面循环{switch(c-'2') //输入的字符与字符'2'相减,以输入的2为例,'2'-'2'=0{case 0: //等于0执行这条语句,没有break继续执行

相关搜索:

网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com