1 c
我正在编写一个程序,向用户提供表格(xxx)xxx-xxxx中的电话号码,然后以C语言显示xxx.xxx.xxxx格式的号码.
#include <stdio.h>
int main(void) {
int d1, s2, d3;
printf("enter phone number[(xxx) xxx-xxxx]:"); //phone number to be entered
sscanf("%d %d-%d", d1, s2, d3); //to read input in above format
printf("you entered %d.%d.%d", d1, s2, d3);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是scanf无法读取()圆括号输入的数据.
你打算用scanf而不是sscanf.此外,您应该记录要写入的变量的内存地址scanf.您应该将格式字符串更改scanf为"".scanf返回成功分配的输入项数.检查此值3以查找输入是否以所需格式输入.
#include <stdio.h>
int main(void) {
int d1, s2, d3;
int val; // to check if scanf was successful
// newline causes the string to be immediately
// written to stdout
printf("enter phone number[(xxx) xxx-xxxx]:\n");
val = scanf("(%d)%d-%d", &d1, &s2, &d3);
// check if scanf was successful
if(val == 3)
printf("you entered %d.%d.%d", d1, s2, d3);
else
printf("input not in the correct format.\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10921 次 |
| 最近记录: |