char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s \n",c,i,s); 为什么输出的结果是1,23,456
时间: 2024-06-15 14:08:05 浏览: 96
c语言 sscanf,scanf,fscanf正则表达式用法
5星 · 资源好评率100%
根据你提供的代码,输出结果为"1,23,456"的原因是:
1. 第一个scanf语句`scanf("%c",&c);`读取一个字符,并将其存储在变量c中。由于输入的字符是数字字符'1',所以c的值被赋为对应的ASCII码值49。
2. 第二个scanf语句`scanf("%d",&i);`读取一个整数,并将其存储在变量i中。输入的整数是23,所以i的值被赋为23。
3. 第三个scanf语句`scanf("%s",s);`读取一个字符串,并将其存储在字符数组s中。输入的字符串是"456",所以s的值被赋为"456"。
4. 最后一个printf语句`printf("%c,%d,%s \n",c,i,s);`按照指定的格式输出变量c、i和s的值。所以输出结果为"1,23,456"。
阅读全文