确实可以!而且"%[^\n]"还可以由你自己选择结束字符。 这个%[]用的人不多,大家都只知道%s之类的,所以这个东西也被忽视了。。。 下面是MSDN的scanf格式参数的允许情况,注意%[]在最后呢~ Conversion Argument Conversion Specifier Type Function Base %c char x[] %lc wchar_t x[] %d int *x strtol 10 ...
} printf("英文字母 %d,空格 %d,数字 %d, 其他字符 %d\n", c, s, n, o);return 0;} 2scanf include <stdio.h> int main(){ int c=0,s=0,n=0, o=-1;char i='\0';while(i!='\n'){ scanf("%c",&i);if((i>='A'&&i<='Z') || (i>='a'&&i<='z') )...
intn=0; scanf("END%n",&n); if(n>0){ // Scan made it past"END" Success(); }else{ Failure(); } 更好的方法是使用fgets()读取一行,然后解析/扫描字符串。 使用scanf()来应对意外输入具有挑战性。 请注意,scanf("SECTION %s", str);没有宽度限制。 建议int nr1 = scanf("SECTION %99s",...
确实可以!而且"%[^\n]"还可以由你自己选择结束字符。 这个%[]用的人不多,大家都只知道%s之类的,所以这个东西也被忽视了。。。 下面是MSDN的scanf格式参数的允许情况,注意%[]在最后呢~ Conversion Argument Conversion Specifier Type Function Base %c char x[] %lc wchar_t x[] %d int *x strtol 10 ...